Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Liczba całkowita (typ danych) - Wikipedia, wolna encyklopedia

Liczba całkowita (typ danych)

Z Wikipedii

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.

Spis treści

[edytuj] Reprezentacja liczby w kodzie binarnym

[edytuj] Grupowanie informacji

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

[edytuj] Sposoby zapisu liczb ujemnych

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).

[edytuj] Liczby całkowite w językach programowania

  • 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

[edytuj] Liczby całkowite w C, C++

W C, C++ zdefiniowano 8 typów danych przeznaczonych do reprezentacji liczb całkowitych - są to short int, int, long int, long long int w wersjach ze znakiem (signed) oraz bez znaku (unsigned). Ich rozmiary w bitach zależą od implementacji. Standard C99 określa następujące zależności pomiędzy typami:

  • int ma mininum 16 bitów
  • long int jest co najmniej takiego rozmiaru, co int
  • long long int ma minimum 64 bity

W praktyce współczesne kompilatory (takie jak GCC) zazwyczaj stosują typy o następujących rozmiarach:

  • short int ma 16 bitów
  • int jest równy long int i ma 32 bity
  • long long int ma 64 bity

Typem całkowitym o rozmiarze 8 bitów w praktyce jest także typ znakowy char.

Zakresy liczb całkowitych możliwych do przedstawienia za pomocą danego typu (w przypadku GCC 3.3.5) przedstawia poniższa tabela:

ilość bitów nazwa zakres
8 char −128 — +127 (ze znakiem)
0 — +255 (bez znaku)
16 short int −32 768 — +32 767 (ze znakiem)
0 — +65 535 (bez znaku)
32 int, long int −2 147 483 648 — +2 147 483 647 (ze znakiem)
0 — +4 294 967 295 (bez znaku)
64 long long int −9 223 372 036 854 775 808 — +9 223 372 036 854 775 807 (ze znakiem)
0 — +18 446 744 073 709 551 615 (bez znaku)

[edytuj] Zobacz też


Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu