• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak zapisać 2 zera

Aruba Cloud - Virtual Private Server VPS
0 głosów
323 wizyt
pytanie zadane 17 października 2015 w C i C++ przez niezalogowany
No w sumie jak w temacie, jednak nie mam bladego pojęcia w jakiej zmiennej to zrobić

2 odpowiedzi

+3 głosów
odpowiedź 17 października 2015 przez Schizohatter Nałogowiec (39,600 p.)
wybrane 24 października 2015
 
Najlepsza
Jako string, a nie int :P
komentarz 17 października 2015 przez niezalogowany
string?? hmmm... no w sumie masz rację. a dałoby się to robić na char??
komentarz 17 października 2015 przez Damian11131 Stary wyjadacz (13,490 p.)
edycja 17 października 2015 przez Damian11131

Nie wiem, czy dokładnie o to ci chodziło, ale... 

char zero [2]={'0','0'};

 

komentarz 17 października 2015 przez 0xf Dyskutant (8,180 p.)
#include <string>

string zero="00";
komentarz 17 października 2015 przez Dash Nałogowiec (29,650 p.)
jeden char = jeden znak

tablica charów będzie jednak mniejsza i raczej wydajniejsza od stringa bo :

char x[2] = {'0', '0'};  wygląda mniej więcej tak  w pamięci [0][0]

std::string x = "00"; tak [0][0][/0]

I w taki oto sposób  spędzam nad swoimi programami niepotrzebne godziny, jestem pedantem :P
komentarz 17 października 2015 przez furas Maniak (53,800 p.)
edycja 17 października 2015 przez furas

Jeśli chcesz aby liczby zajmowały jeszcze mnie miejsca to dawno temu już zauważono, że cyfry 0-9 można zapisać z użyciem tylko 4-bitów więc w jednym char (8-bitów) można zmieścić dwie cyfry. Nazywa się to "kod BCD" i wykorzystywano go w czasach gdy pamięć RAM była bardzo droga. Zdaje się, że w elektronice wciąż korzystają z tego systemu.

Problem jest tylko z tym, że do tego należy dorobić funkcje, które pozwolą na wszelkie działania na tak upakowanych danych. Można by wykorzystać "union" i przesuwanie bitowe.

https://pl.wikipedia.org/wiki/Kod_BCD

komentarz 17 października 2015 przez Dash Nałogowiec (29,650 p.)
;__; właśnie zniszczyłeś mi noc. Dzięki wielkie. Idę po kawcie....

A tak nawiasem mówiąc, ciekawę czy przypadkiem string jako typ wbudowany nie jest lepiej obsługiwany rpze kompilator niż tablica char. Wiem że w przypadku typów liczbowych zdarza się że int jest najszybszy, jako ten najbardziej naturalny dla procesora. Ale to takie tylko gdzieś na forum zasłyszane.
komentarz 17 października 2015 przez furas Maniak (53,800 p.)
Najbardziej naturalnym elementem dla procesora jest bajt. Char to dla procesora tez bajt. A int to 4 bajty - w asemblerze znane jako DWord (podwójne słowo, double word) a dwa bajty to Word. String to tabela char lub inaczej tabela bajtów.

My traktujemy char jako coś specjalnego bo na ekranie wyświetlane są znaki (ale to zasługa całkiem innych funkcji wbudowanych w język, system, BIOS, że nagle wartość 0-255 zamienia się na znak na ekranie). Dla procesora to tylko bajt zawierający wartości o 0 do 255.
komentarz 17 października 2015 przez Dash Nałogowiec (29,650 p.)
To wiem, bardzo często stosuję char gdy mam do zapisania powiedzmy kilka tysięcy liczb z zakresu ~ 1-500. Widzę że znasz asm, ja mam jedynie wiedzę z czytania SO czy innych takich. Tam często odradza się stosowanie własnych kombinatorek, te z stl'a/wbudowane są z reguly lepiej zooptymalizowane (nie oszukujmy się, do poziomu ludzi piszących kompilatory brakuje nam pewnie pare-parenaście lat). Różnica wydajności operacji na liczbach całkowitych/zmienno przecinkowych jest logiczna, ale niektóre wypowiedzi pokazuja różnicę nawet pomiędzy liczbami short a int czy char a int. Z grubsza ładnie opisane tutaj:

http://stackoverflow.com/questions/5069489/performance-of-built-in-types-char-vs-short-vs-int-vs-float-vs-double
0 głosów
odpowiedź 17 października 2015 przez Dragonet.17 Pasjonat (19,630 p.)
Tablica charów, zwykły string, albo po prostu dwie zmienne typu int :D :P

Podobne pytania

0 głosów
2 odpowiedzi 356 wizyt
pytanie zadane 21 września 2017 w JavaScript przez Karoldev Początkujący (300 p.)
+2 głosów
3 odpowiedzi 650 wizyt
0 głosów
1 odpowiedź 239 wizyt
pytanie zadane 28 grudnia 2018 w Matematyka, fizyka, logika przez NintyS Użytkownik (940 p.)

93,335 zapytań

142,330 odpowiedzi

322,411 komentarzy

62,670 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...