Login lub e-mail Hasło   

Dane liczbowe w języku C++

Odnośnik do oryginalnej publikacji: http://www.i-lo.tarnow.pl/edu/inf/alg/nu(...)ex.html
Liczby bez znaku unsigned short int, unsigned short 2-bajtowa (16 bitów) liczba całkowita bez znaku w naturalnym kodzie dwójkowym . Zakres od 0 do 2...
Wyświetlenia: 18.836 Zamieszczono 02/11/2006

Liczby bez znaku

unsigned short int, unsigned short

2-bajtowa (16 bitów) liczba całkowita bez znaku w naturalnym kodzie dwójkowym.
Zakres od 0 do 216 - 1 (65535).

unsigned int, unsigned

4-bajtowa (32 bity) liczba całkowita bez znaku w naturalnym kodzie dwójkowym.
Zakres od 0 do 232 - 1 (4294967295).

unsigned long int, unsigned long

4-bajtowa (32 bity) liczba całkowita bez znaku w naturalnym kodzie dwójkowym.
Zakres od 0 do 232 - 1 (4294967295).

unsigned long long int, unsigned long long

8-bajtowa (64-bity) liczba całkowita bez znaku w naturalnym kodzie dwójkowym.
Zakres od 0 do 264 - 1 (18446744073709551615).

Liczby ze znakiem

short, short int, signed short

2-bajtowa (16 bitów) liczba całkowita ze znakiem w kodzie uzupełnieniowym do 2 - U2.
Zakres od -215 (-32768) do 215 - 1 (32767).

int, signed int, signed

4-bajtowa liczba całkowita ze znakiem w kodzie U2 (32 bity).
Zakres od -231 (-2147483648) do 231 - 1 (2147483647)

long, signed long int, signed long

4-bajtowa liczba całkowita ze znakiem w kodzie U2 (32 bity).
Zakres od -231 (-2147483648) do 231 - 1 (2147483647)

long long, long long int, signed long long, signed long long int

8-bajtowa liczba całkowita ze znakiem w kodzie U2 (64 bity).
Zakres od -263 (-9223372036854775808) do 263 - 1 (9223372036854775807).

Podsumowanie

Typy całkowite
bez znaku - NBC ze znakiem - U2
unsigned short int 2B - 16b Zakres 0...216 - 1 short int 2B - 16b Zakres -215 ...215 - 1
unsigned int
unsigned long int
4B - 32b Zakres 0...232 - 1 int
long int
4B - 32b Zakres - 231...231-1
unsigned long long int 8B - 64b Zakres 0...264 - 1 long long int 8B - 64b Zakres -263...263-1

Obecnie wszystkie procesory komputerów IBM są zintegrowane wewnętrznie z koprocesorem arytmetycznym, który sprzętowo (zatem bardzo szybko) wykonuje złożone operacje na liczbach zmiennoprzecinkowych. Podstawowe typy danych zmiennoprzecinkowych odpowiadają bezpośrednio typom danych, które obsługuje koprocesor. Koprocesor arytmetyczny pracuje w standardzie IEEE 754.

float

32-bitowa liczba zmiennoprzecinkowa o pojedynczej precyzji w standardzie IEEE 754 (4 bajty).
Zakres od - 3,4 x 1038 do 3,4 x 1038. Precyzja około 7 cyfr znaczących.

double

64-bitowa liczba zmiennoprzecinkowa o podwójnej precyzji w standardzie IEEE 754 (8 bajtów).
Zakres od - 1,8 x 10308 do 1,8 x 10308. Precyzja około 15...16 cyfr znaczących.

long double

Jest to wewnętrzny tym reprezentacji liczb zmiennoprzecinkowych w koprocesorze arytmetycznym. Aby zminimalizować błędy obliczeniowe koprocesor wykonuje wewnętrznie obliczenia na rozszerzonym formacie do 80-bitów. Dzięki temu wzrasta zakres oraz precyzja przetwarzanych liczb. Koprocesor po wykonaniu obliczeń automatycznie przelicza wynik z typu extended na typ single lub double.

80-bitowa liczba zmiennoprzecinkowa o rozszerzonej precyzji w standardzie IEEE 754 (10-bajtów).
Zakres od -1,1 x 104932 do 1,1 x 104932. Precyzja około 19...20 cyfr znaczących.

Informacje na temat typu extended znajdziesz w rozdziale opisującym standard IEEE 754.

Podsumowanie

Typy zmiennoprzecinkowe koprocesora arytmetycznego
float 32b - 4B Zakres ±3,4 x 1038 Precyzja 7...8 cyfr
double 64b - 8B Zakres ±1,8 x 10308 Precyzja 15...16 cyfr
long double 80b - 10B Zakres ±1,1 x 104932 Precyzja 19...20cyfr

char

Typ znakowy reprezentowany w pamięci komputera przez 1 bajt (8 bitów). Może przechowywać kod jednego znaku ASCII. Kod znaku interpretowany jest jako liczba całkowita ze znakiem w kodzie U2. Wartości dodatnie od 0 do 127 odnoszą się do znaków z podstawowego zestawu ASCII. Wartości ujemne od -1 do -128 określają kody rozszerzonego zestawu ASCII. W wyrażeniach arytmetycznych zmienne typu char zachowują się jak 8-mio bitowe liczby U2.

signed char

Dokładnie to samo, co typ char.

unsigned char

Typ znakowy reprezentowany w pamięci komputera przez 1 bajt (8 bitów). Przechowuje kod ASCII jednego znaku traktowany jako liczba całkowita bez znaku. W tym przypadku kody mogą przyjmować wartości od 0 do 255. W wyrażeniach zmienna typu unsigned char jest traktowana jak 8-mio bitowa liczba NBC.

Typy znakowe mogą tworzyć tablice umożliwiające przechowywanie ciągu znaków. Temat jest bardzo szeroki i wymaga osobnego artykułu.

bool

Typ logiczny, który może przyjmować dwie wartości: true lub false. W pamięci zajmuje 1 bajt (8 bitów). Jeśli typ bool przekształcimy za pomocą rzutowania na typ liczbowy, to wartość true będzie równa 1, a false będzie równa 0. Z kolei zrzutowanie wartości liczbowej na typ logiczny bool daje wartość true, jeśli wynik jest różny od zera i false jeśli jest równy 0.

00000000(BOOL) = false
00000001(BOOL) = true

 

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Podobne artykuły


16
komentarze: 5 | wyświetlenia: 9002
9
komentarze: 0 | wyświetlenia: 2781
49
komentarze: 18 | wyświetlenia: 64968
37
komentarze: 9 | wyświetlenia: 28509
17
komentarze: 4 | wyświetlenia: 14153
15
komentarze: 5 | wyświetlenia: 32753
13
komentarze: 2 | wyświetlenia: 22958
12
komentarze: 3 | wyświetlenia: 29776
12
komentarze: 2 | wyświetlenia: 18504
11
komentarze: 2 | wyświetlenia: 33145
11
komentarze: 1 | wyświetlenia: 86389
11
komentarze: 1 | wyświetlenia: 10465
10
komentarze: 1 | wyświetlenia: 34967
10
komentarze: 5 | wyświetlenia: 20410
 
Autor
Artykuł

Powiązane tematy






Brak wiadomości


Dodaj swoją opinię
W trosce o jakość komentarzy wymagamy od użytkowników, aby zalogowali się przed dodaniem komentarza. Jeżeli nie posiadasz jeszcze swojego konta, zarejestruj się. To tylko chwila, a uzyskasz dostęp do dodatkowych możliwości!
 

© 2005-2018 grupa EIOBA. Wrocław, Polska