Liczba całkowita (typ danych): Różnice pomiędzy wersjami
[wersja nieprzejrzana] | [wersja nieprzejrzana] |
Usunięta treść Dodana treść
m robot dodaje: sv:Integer |
poprawa linków, drobne merytoryczne |
||
Linia 11:
===Sposoby zapisu liczb ujemnych===
Dowolny sposób zapisu liczb ze [[znak liczby|znakiem]]
Najbardziej naturalnym dla
* 0101<sub>2</sub> to 5<sub>10</sub>
* 1101<sub>2</sub> to -5<sub>10</sub>
W tym zapisie zero można przedstawić na dwa sposoby: kasując wszystkie bity oraz ustawiając jedynie bit znaku.
"[[Kod uzupełnień do jedności|Dopełnienie do jedynki]]" polega na odwróceniu wszystkich bitów odpowiedniej liczby dodatniej. Przykład:
Linia 21 ⟶ 23:
* 1010<sub>2</sub> to -5<sub>10</sub>
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 - w tej operacji pośredniej liczba jest zawsze traktowana jakby była dodatnia. Okazuje się, że najstarszy bit można zinterpretować jako bit
* 0101<sub>2</sub> to 5<sub>10</sub>
* 1011<sub>2</sub> to -5<sub>10</sub>
Ten zapis pozwala uniknąć niejednoznacznej postaci zera (kosztem niesymetryczności zakresu reprezentowanych liczb) oraz ułatwia dodawanie. Dodawanie w tym zapisie
==Liczby całkowite w językach programowania==
*Typy danych całkowitych w językach [[C (język programowania)|C]], [[C++]]: ''short int'', ''int'', ''long int'', ''long long int'' (w wersjach ''signed'' i ''unsigned'')
*
===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 - są to ''short int'', ''int'', ''long int'', ''long long int'' w wersjach ze [[
*''int'' ma mininum 16 bitów
*''long int'' jest co najmniej takiego rozmiaru, co int
|