Стандарт C++ не определяет размер целочисленных типов в байтах, но он определяет минимальные диапазоны, которые они должны быть в состоянии содержать. Можно вывести минимальный размер в битах от необходимого диапазона. Можно вывести минимальный размер в байтах от этого и значения CHAR_BIT
макрос, который определяет число битов в байте (во всех кроме самых неясных платформ, которые это 8, и это не могут быть меньше чем 8).
Одно дополнительное ограничение для char
состоит в том, что его размер всегда - 1 байт, или CHAR_BIT
биты (отсюда имя).
Минимальные диапазоны требуемый стандартом (страница 22):
и Диапазоны Типа данных на [1 128] MSDN:
signed char
:-127 к 127 (примечание, не-128 к 127; это размещает 1's-дополнение и платформы знака-и-величины) unsigned char
: от 0 до 255 char
: тот же диапазон как signed char
или unsigned char
, определенный реализацией signed short
:-32767 к 32 767 unsigned short
: от 0 до 65 535 signed int
:-32767 к 32 767 unsigned int
: от 0 до 65 535 signed long
:-2147483647 к 2147483647 unsigned long
: от 0 до 4294967295 signed long long
:-9223372036854775807 к 9223372036854775807 unsigned long long
: от 0 до 18446744073709551615 C++ А (или C) реализация может определить размер типа в байтах sizeof(type)
к любому значению, целых
sizeof(type) * CHAR_BIT
оценивает достаточно к многому битов высотой для содержания требуемых диапазонов, и sizeof(int) <= sizeof(long)
). определенные для фактической реализации диапазоны могут быть найдены в [1 121] заголовок в C, или
в C++ (или еще лучше, шаблонными std::numeric_limits
в [1 124] заголовок).
, Например, это - то, как Вы найдете максимальный диапазон для [1 125]:
C:
#include
const int min_int = INT_MIN;
const int max_int = INT_MAX;
C++ :
#include
const int min_int = std::numeric_limits::min();
const int max_int = std::numeric_limits::max();
Эта команда должна работать:
unity
, но убеждаться выполнить его от выполненного поля Высокий звук + F2 , не терминальный.
, Если Вы хотите выполнить его от терминала, необходимо использовать:
setsid unity