W C , sam język nie określa reprezentację pewnych typów danych. Może różnić się w zależności od maszyny, w systemach wbudowanych intmoże mieć 16 bitów szerokości, choć zwykle jest to 32 bity.
Jedynym wymaganiem jest short int<= int<= long intwedług wielkości. Istnieje również zalecenie, które intpowinno reprezentować natywną pojemność procesora .
Wszystkie typy są podpisane. unsignedModyfikator pozwala używać najwyższy bit jako część wartości (w przeciwnym razie jest ona zarezerwowana dla bitem znaku).
Oto krótka tabela możliwych wartości dla możliwych typów danych:
width minimum maximum
signed 8 bit -128 +127
signed 16 bit -32 768 +32 767
signed 32 bit -2 147 483 648 +2 147 483 647
signed 64 bit -9 223 372 036 854 775 808 +9 223 372 036 854 775 807
unsigned 8 bit 0 +255
unsigned 16 bit 0 +65 535
unsigned 32 bit 0 +4 294 967 295
unsigned 64 bit 0 +18 446 744 073 709 551 615
W Javie , języka Java Specyfikacja określa reprezentację typów danych.
Kolejność jest następująca: byte8 bitów, short16 bitów, int32 bity, long64 bity. Wszystkie te typy są podpisane , nie ma niepodpisanych wersji. Jednak manipulowanie bitami traktuje liczby tak, jak były niepodpisane (to znaczy, że poprawnie obsługuje wszystkie bity).
Typ danych znaków charma szerokość 16 bitów, jest bez znaku i zawiera znaki przy użyciu kodowania UTF-16 (można jednak przypisać chardowolną 16-bitową liczbę całkowitą bez znaku, która reprezentuje nieprawidłowy znak kodowy)
width minimum maximum
SIGNED
byte: 8 bit -128 +127
short: 16 bit -32 768 +32 767
int: 32 bit -2 147 483 648 +2 147 483 647
long: 64 bit -9 223 372 036 854 775 808 +9 223 372 036 854 775 807
UNSIGNED
char 16 bit 0 +65 535