FANDOM


Liczby całkowite mogą zostać zapisane w pamięci komputera w rozmaity sposób. Obecnie dla liczb naturalnych najczęściej spotykany jest pozycyjny dwójkowy system liczbowy. Inne znane sposoby zapisu to kod Graya i BCD.


Reprezentacja liczby w kodzie binarnym
Edytuj

Grupowanie informacjiEdytuj

Na pamięć komputera można spojrzeć jak na komórki. W każdej z nich trzymany jest elementarny kwant informacji zwany bitem. W praktyce komórki te grupuje się w większe całości zwane, w zależności od rozmiaru, bajtami (8 bitów), słowami (zawierającymi 2 lub więcej bajtów) lub jeszcze inaczej.

Kolejność bitów w bajtach, bajtów w słowach, itp. może być ustalona na dwa podstawowe sposoby:
* little endian – "najmłodszy" bit/bajt na początku, tzn. pod najniższym adresem, "najstarszy" bit/bajt na końcu.
* big endian – na odwrót

Sposoby zapisu liczb ujemnychEdytuj

Dowolny sposób zapisu liczb ze znakiem wymaga co najmniej jednego dodatkowego bitu – bitu znaku. Zazwyczaj używa się najstarszego bitu dla danego rozmiaru komórki pamięci.
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 znak-moduł). Przykład (zapis pozycyjny na czterech bitach):

  • 01012 to 510
  • 11012 to –510

W tym zapisie zero można przedstawić na dwa sposoby: kasując wszystkie bity oraz ustawiając jedynie bit znaku.
"Dopełnienie do jedynki" polega na odwróceniu wszystkich bitów odpowiedniej liczby dodatniej. Przykład:

  • 01012 to 510
  • 10102 to –510

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 "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 znaku. Przykład:

  • 01012 to 510
  • 10112 to -510

Ten zapis pozwala uniknąć niejednoznacznej postaci zera (kosztem niesymetryczności zakresu reprezentowanych liczb) oraz ułatwia dodawanie. Dodawanie w tym zapisie nie różni się niczym od dodawania liczb binarnych bez znaku. Wystąpienie dokładnie jednego z przeniesień: z najstarszego bitu (bitu znaku) i na najstarszy bit świadczy o przekroczeniu dopuszczalnego zakresu (o przepełnieniu).

Liczby całkowite w językach programowaniaEdytuj

  • Typy danych całkowitych w językach C, C++: short int, int, long int, long long int (w wersjach signed i unsigned)
  • Typy danych całkowitych w Pascalu: ShortInt, Integer, LongInt

Zobacz teżEdytuj

Typy danych

Liczby całkowite

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Więcej z Fandomu

Losowa wiki