1.
左边是字节的地址,地址后面为字节的 8 位,
736424 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
736425 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
736426 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
736427 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
左边是字节的地址,地址后面为字节的 8 位,
可以用地址表示从该地址开始的任何几个不同大小的位集合。可以说地址为 736424 的字,也可以说地址为 736426 的字节。例如,可以说地址为736425的字节和地址为 736427 的字节不相等。
bool 类型表示真值 true 和 false。可以将算术类型的任何值赋给bool 对象。0 值算术类型代表 false,任何非 0 的值都代表 true。
unsigned int 类型可以简写为 unsigned,也就是说,unsigned 后不加其他类型说明符意味着是unsigned int 。
C++ 中,把负值赋给 unsigned 对象是完全合法的,其结果是该负数对该类型的取值个数求模后的值。所以,如果把 -1 赋给8位的unsigned char,那么结果是 255,因为 255 是 -1 对 256 求模后的值。
实际应用中,大多数通用机器都是使用和 long 类型一样长的 32 位来表示 int 类型。整型运算时,用 32 位表示int 类型和用 64 位表示 long 类型的机器会出现应该选择 int 类型还是 long 类型的难题。在这些机器上,用long 类型进行计算所付出的运行时代价远远高于用 int 类型进行同样计算的代价,所以选择类型前要先了解程序的细节并且比较long 类型与 int 类型的实际运行时性能代价。决定使用哪种浮点型就容易多了:使用 double 类型基本上不会有错。