Liczba całkowita (typ danych): Różnice pomiędzy wersjami
[wersja nieprzejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
m →Liczby całkowite w C, C++: lit. |
m int. |
||
Linia 7:
Kolejność bitów w bajtach, bajtów w słowach, itp. może być ustalona na dwa podstawowe sposoby:
*[[Kolejność bajtów|little endian]]
*[[Kolejność bajtów|big endian]]
===Sposoby zapisu liczb ujemnych===
Dowolny sposób zapisu liczb ze [[znak liczby|znakiem]] wymaga co najmniej jednego dodatkowego bitu
Najbardziej naturalnym dla człowieka sposobem uwzględnienia znaku jest potraktowanie najstarszego bitu jako bitu znaku, a pozostałych bitów jako wartości bezwzględnej liczby (zapis [[Kod znak-moduł|znak-moduł]]). Przykład (zapis pozycyjny na czterech bitach):
* 0101<sub>2</sub> to 5<sub>10</sub>
* 1101<sub>2</sub> to
W tym zapisie zero można przedstawić na dwa sposoby: kasując wszystkie bity oraz ustawiając jedynie bit znaku.
Linia 21:
"[[Kod uzupełnień do jedności|Dopełnienie do jedynki]]" polega na odwróceniu wszystkich bitów odpowiedniej liczby dodatniej. Przykład:
* 0101<sub>2</sub> to 5<sub>10</sub>
* 1010<sub>2</sub> to
Również w tym zapisie zero można przedstawić na dwa sposoby: jako komórkę o wszystkich bitach ustawionych lub o wszystkich bitach wyzerowanych. Dopełnienie do jedynki jest używane w maszynach [[PDP-1]] i [[UNIVAC 1100]].
Najczęściej używanym (zwłaszcza w komputerach osobistych) jest zapis "[[Kod uzupełnień do dwóch|dopełnienia do dwóch]]". Zmiana znaku polega w nim na odwróceniu wszystkich bitów liczby wyjściowej i dodaniu jedynki
* 0101<sub>2</sub> to 5<sub>10</sub>
* 1011<sub>2</sub> to -5<sub>10</sub>
Linia 36:
===Liczby całkowite w C, C++===
W [[C (język programowania)|C]], [[C++]] zdefiniowano 8 [[typ danych|typów danych]] przeznaczonych do reprezentacji liczb całkowitych
*''int'' ma minimum 16 bitów
*''long int'' jest co najmniej takiego rozmiaru, co int
Linia 74:
*[[Liczby całkowite]]
*[[typ (informatyka)|Typy danych]]
{{Typy danych w C++}}
|