C++标准规定了每个算算术类型的最小存储空间,但是并不阻止编译器使用更大的存储空间。
整形中的问题:
C++标准并未规定signed类型如何用位来表示,而是由编译器自由决定如何表示signed类型。
当我们把一个超出类型表示范围的值赋值给指定类型的对象时:最终的取值取决于这种类型是signed还是unsigned的。
1、如果是unsigned类型,则对该值取该类型表示范围的模,将该值赋值给这个类型对象。负数总是超出其取值范围,所以
unsigned类型是不可能保存负数的。C++中将负数赋值给unsigned是合法的,其结果是对该负数对该类型的取值个数取模后的值。
-1赋值给unsigned char ,最后取值是255。
2、