数据类型 | 描述 | 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.