在C语言中,语言本身无法确定某些数据类型的表示形式。它因机器而异,在嵌入式系统上int可以为16位宽,尽管通常为32位。
唯一的要求是
short int<= int<= long int大小。另外,有一项建议int应代表处理器的本机容量。
所有类型均已签名。该
unsigned修改器允许你使用最高位的值(否则它被保留为符号位)的一部分。
这是可能的数据类型的可能值的简要表:
width minimum maximumsigned 8 bit -128 +127signed 16 bit -32 768 +32 767signed 32 bit -2 147 483 648 +2 147 483 647signed 64 bit -9 223 372 036 854 775 808 +9 223 372 036 854 775 807unsigned 8 bit 0 +255unsigned 16 bit 0 +65 535unsigned 32 bit 0 +4 294 967 295unsigned 64 bit 0 +18 446 744 073 709 551 615
在Java语言规范确定的数据类型的表示。
顺序为:
byte8位,
short16位,
int32位,
long64位。所有这些类型都是带符号的,没有未签名的版本。但是,位操作将数字视为无符号的(即,正确处理所有位)。
字符数据类型
char为16位宽,无符号,并使用UTF-16编码保存字符(但是,可以分配一个
char表示无效字符代码点的任意无符号16位整数)
width minimum maximumSIGNEDbyte: 8 bit -128 +127short: 16 bit -32 768 +32 767int: 32 bit -2 147 483 648 +2 147 483 647long: 64 bit -9 223 372 036 854 775 808 +9 223 372 036 854 775 807UNSIGNEDchar 16 bit 0



