数据类型 |
描述 |
Bits位 |
Bytes字节 |
最小值 |
最大值 |
int8_t |
singed char |
8 |
1 |
-128(-27) |
127(27-1) |
uint8_t |
unsinged char |
8 |
1 |
0 |
255(28-1) |
int16_t |
short |
16 |
2 |
-32768(-215) |
32767(215-1) |
uint16_t |
unsigned short |
16 |
2 |
0 |
65535(216-1) |
int32_t |
int |
32 |
4 |
-231 |
216-1 |
uint32_t |
unsiged int |
32 |
4 |
0 |
232 |
int64_t |
long long |
64 |
8 |
-263 |
263-1 |
uint64_t |
unsigned long long |
64 |
8 |
0 |
264-1 |
整型有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。在一些不可能取值为负数的时候,可以定义为unsigned,在一些底层的嵌入式编程的数据一般都是无符号。
比如,uint8_t 是 C/C++ 语言标准库中的一个数据类型,它是无符号整型,占用 8 个比特位(即一个字节),其取值范围为 0 到 255。在 C/C++ 中,通常使用 uint8_t 来表示一个字节大小的整数或者一个 8 位的二进制数据。因为 uint8_t 是无符号整型,所以它不支持负数,只能表示非负整数。
位=bit,是一个二进制位;字节=byte,是 1 个十六进制位,=8个bit。
1byte 的值域是0~255,十六进制表示为0xFF,二进制表示为11111111.
1bit 的值域是0~1,二进制表示为1.