У C , мова сам по собі не визначає уявлення певних типів даних. Він може змінюватись від машини до машини, у вбудованих системах int
може бути 16 біт, хоча зазвичай це 32 біт.
Єдина вимога - short int
<= int
<= long int
за розміром. Також є рекомендація, яка int
повинна відображати основну потужність процесора .
Усі типи підписані. unsigned
Модифікатор дозволяє використовувати старший біт як частина вартості ( в іншому випадку він зарезервований для знакового біта).
Ось коротка таблиця можливих значень для можливих типів даних:
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
В Java , Специфікація мови Java визначає уявлення типів даних.
Порядок: byte
8 біт, short
16 біт, int
32 біт, long
64 біт. Усі ці типи підписані , версії не підписані. Однак бітові маніпуляції розглядають числа як непідписані (тобто правильно обробляти всі біти).
Тип даних символів char
шириною 16 біт, непідписаний і містить символи, використовуючи кодування UTF-16 (однак, можна призначити char
довільне 16-бітове ціле число, яке не підписується, що являє собою недійсну кодову точку символу)
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