c++ primer 笔记 2基本内置类型
2-1注意:
1、c++只规定了各类型的内存最小尺寸,同时字节数至少 long long >=long>=int>=short;
2、字符型分为 char、signed char和unsigned char。类型char 实际会表现为上述哪种类型,具体由编译器决定;VS2013中,char == signed char;
建议:
1、明确知晓数值不可能为负时,选用无符号类型;
2、char 只用于存放字符,需要一个不大的整数,用signed char 或 unsinged char(明确指出);
3、执行浮点数用double(double用2个字(64位)来表示精度);
2-2注意:
1、非bool->bool,0->false , 非0->true;
2、bool->非bool,false->0,true->1;
3、赋给无符号类型一个超出它表示的范围的值时,结果是初始值对无符号类型表示数值总数取材模后的余数;
unsigned char = -1; (0~255);
实际为 -1%256 = 255; 取模后的余数!https://blog.csdn.net/kkkkkkkkq/article/details/72235878
4、当我们赋给带符号类型一个超出它表示范围的值时,结果是未定义的!
signed char c2 = 256; //假设char占8比特,c2的值是未定义的。