1. 大多数计算机使用块(8位) 或者一个字节作为最小的可寻址的内存单位。
2. 32位程序 or 64位程序,区别在于程序是如何被编译的,而不是运行的机器类型 。
3. c语言中没有规定有符号数如何表示,但是几乎所有机器都使用补码表示。
4. 声明一个无符号常量,在常量的后面加上u或者U 如1234U 1234u
5.
6. 当执行一个运算时,一个数为有符号,另一个数为无符号,那么有符号数会隐式转换为无符号数,这对于普通的运算没有多大影响,但是当执行< or > 关系运算时,会导致非直观的结果。比如 执行 -1 < 0U,由于0U是无符号数,-1被强制转换为无符号数,假设32位系统,-1转换为无符号后为2^32-1,小于1为FALSE
7.
8. signed和unsigned数十六进制是一样的
9. 无符号数用零扩展,补码数用符号位扩展。
10. 截断数字。无符号截断:
有符号截断:
11. -Tmin等于Tmin!!!
12. 无符号数的加法
13. 补码 加法
14. 补码的非
15. 无符号数的非
16. 无符号数截断为w位等于计算该值模2^w
17. 无符号数乘法
18. 补码乘法