LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

char = 1 байт гарантированно. Далее

char(1)<=short(1 или 2)<=int(2 или 4)<=long(4 или 8)<=long long(4 или 8 (в теории ещё или 4 или 8 или 16))

Часто справедливо char(1) short(2) int(4) long(8) long long(синоним long)

float = 4 байта гарантированно IEEE-754 double == 8 байт гарантированно IEEE-754 (даже на 8 битном микроконтроллере)

Определяется всё на конкретной платформе по типу INT_MIN/INT_MAX/etc для каждого из типов.

cat /usr/include/limits.h На твоей целевой машине и это самое важное =)

На всяких risc-v есть железная 128 битная адресация, там есть по сути long long long или просто uint128_t его при желании можно и на 64битной системе получить на обычном x86_64.

Гарантия размеров есть для трёх типов, вся остальная гарантия это гарантия того кто больше или равен другому. Ну, а если тебе нужны именно точные размеры то typenameXX_t к твоим услугам, как это разруливать уже будет задача компилятора.

Исправление LINUX-ORG-RU, :

char = 1 байт гарантированно. Далее

char(1)<=short(1 или 2)<=int(2 или 4)<=long(4 или 8)<=long long(4 или 8 (в теории ещё или 4 или 8 или 16))

Часто справедливо char(1) short(2) int(4) long(8) long long(синоним long)

float = 4 байта гарантированно IEEE-754 double == 8 байт гарантированно IEEE-754 (даже на 8 битном микроконтроллере)

Определяется всё на конкретной платформе по типу INT_MIN/INT_MAX/etc для каждого из типов.

cat /usr/include/limits.h На твоей целевой машине и это самое важное =)

На всяких risc-v есть железная 128 битная адресация, там есть по сути long long long или просто uint128_t его при желании можно и на 64битной системе получить на обычном x86_64.

Гарантия размеров есть для трёх типов, вся остальная гарантия это гарантия того кто больше или равен другому. Ну, а если тебе нужны именно точные размеры то typenameXX_t к твоим услугам.

Исходная версия LINUX-ORG-RU, :

char = 1 байт гарантированно. Далее

char(1)<=short(1 или 2)<=int(2 или 4)<=long(4 или 8)<=long long(4 или 8)

Часто справедливо char(1) short(2) int(4) long(8) long long(синоним long)

float = 4 байта гарантированно IEEE-754 double == 8 байт гарантированно IEEE-754 (даже на 8 битном микроконтроллере)

Определяется всё на конкретной платформе по типу INT_MIN/INT_MAX/etc для каждого из типов.

cat /usr/include/limits.h На твоей целевой машине и это самое важное =)

На всяких risc-v есть железная 128 битная адресация, там есть по сути long long long или просто uint128_t его при желании можно и на 64битной системе получить на обычном x86_64.

Гарантия размеров есть для трёх типов, вся остальная гарантия это гарантия того кто больше или равен другому. Ну, а если тебе нужны именно точные размеры то typenameXX_t к твоим услугам.