有一些新手小伙伴不太明白数据类型的数据范围,想着简单写篇帖子说明一下:
在很多的代码中,我们可以看到变量的定义都是以:uint8_t、int8_t、uint16_t……等,那么这个是什么意思呢?它的数据大小和范围又是什么呢?
我们先以“uint8_t”和“int8_t”为例子:
uint = unsigned int(无符号整型)
顾名思义,无符号的整型数据,数据大小就是:2^8 = 256;范围是:0~256;
如果是int16_t,那么数据大小就是:2^16 = 65536;范围是:-32768~32767;
这时,细心的小伙伴肯定发现了规律:数据大小就是:2^X次方(其中的X就是:就是uintX_t中的X)至于范围,就是分两类:无符号(u开头)和有符号(无u开头)
无符号就是从0开始到数据大小的末端值;有符号就是以“0”为对称轴,平分整个数据大小
类型 | 大小 | 范围 |
uint8_t | 256 | 0~256 |
int8_t | 256 | -128~127 |
uint16_t | 65536 | 0~65536 |
int16_t | 65536 | -32768~32767 |
uint32_t | 4,294,967,295 | 0~4,294,967,295 |
int32_t | 4,294,967,295 | -2,147,483,648~2,147,483,647 |