21

Re: Ліміти значень.

Добре, але сказане вище про суворі стандарти форматів чисел точно стосується більш сучасних мов (таких як Java). І хоча ці стандарти обумовлено використанням віртуальної машини, більш імовірно, що цей же підхід до стандартизації типів буде перенесено й на C/C++, ніж навпаки.

22 Востаннє редагувалося ReAl (03.11.2017 15:30:41)

Re: Ліміти значень.

koala написав:

У мене колись був довідничок з таблицею архітектур, там було що завгодно, включно з 9 біт на байт.

Здається, і 6 у когось було (чи то у 12-бітних PDP, чи то у якихось МЭСМ), але там С не було.
Ну й «байт» взагалі ні при чому, треба про char балакати, в одиницях якого працює sizeof()
І у купи TI-вських сигнальних процесорів char 16-бітний, бо така гранулярність адресації.
Як я розумію, stdint-івські int8_t, uint8_t там робиться додатковим маскуванням старших 8 бітів після кожної операції (або, після оптимізації, після декількох операцій, якщо це не міняє результат), щоб була очікувана поведінка. І дуже бажано використовувати int_least8_t, uint_least8_t коли потрібно не саме 8 біт, а 8 біт досить.