32位程序上的C语言整型数据类型的典型取值范围如下:

《深入理解计算机系统》读书笔记六:整数表示_取值范围

64位程序上的C语言整型数据类型的典型取值范围如下: 

《深入理解计算机系统》读书笔记六:整数表示_整型_02

 

无符号数的编码:

  《深入理解计算机系统》读书笔记六:整数表示_数据类型_03 

无符号数编码的唯一性

《深入理解计算机系统》读书笔记六:整数表示_无符号数_04

 补码编码

《深入理解计算机系统》读书笔记六:整数表示_取值范围_05

补码编码的唯一性

 

  补码的取值范围是不对称的。 |TMin| = |TMax| + 1,也就是说, TMin没有与之对应的正数。

 

  下图为一些重要的数字,图中给出了数值和十六进制表示《深入理解计算机系统》读书笔记六:整数表示_数据类型_06

 

  有符号数和无符号数之间的转换:

     补码转为无符号数:《深入理解计算机系统》读书笔记六:整数表示_整型_07

 

 无符号数转换为补码《深入理解计算机系统》读书笔记六:整数表示_补码_08

 扩展一个数字的位表示

  《深入理解计算机系统》读书笔记六:整数表示_取值范围_09