迪克猪的博客
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

第二周20200921到20200927日读书汇总

整数表示

用位来编码整数

- 函数:二进制转补码、二进制转无符号数、无符号数转二进制、无符号转补码、补码转二进制、补码转无符号数
- 常数:最小补码值、最大补码值、最大无符号数
- 操作:补码加法、无符号数加法、补码乘法、无符号数乘法、补码取反、无符号数取反

整型数据类型

32位与64位机器取值范围不同 大多数64位机器使用8个字节表示,比32位机器上使用4个字节表示取值范围大 建议安装64位的操作系统 不同语言对有符号与无符号支持也不同,如c支持有符号与无符号数。而java只支持有符号数。

无符号数编码

采用向量表示(定义)法 最小值0,最大值二的N次方减一 无符号数编码具有唯一性 双映射,了解反函数

补码编码

有符号数采用补码进行表示 负权:最高位表示,1表示负、0表示正 -> 所以负数比正数大1 通过补码,可以了解有符号数存储规则 补码编码的唯一性,双射 补码范围不对称:|TMin| = |TMax| + 1 UMax = 2TMax + 1 long类型:不同机器有不同的取值范围 反码、原码

有符号数与无符号数转换

  • 以后要加强阅读

扩展一个数字的位表示

无符号数的零扩展 补码数的符号扩展

截断数字

截断无符号数

整数运算

无符号加法

  • 无限精度的运算:lisp语言
  • 固定精度的运算:溢出

补码加法

  • 正溢出
  • 负溢出

补码的非

  • 要深入了解概念

无符号乘法

  • 要深入了解概念

补码乘法

  • 要深入了解概念

浮点数

二进制小数

  • 充分理解计算机小数表示存储

IEEE浮点表示法

  • 还需精读(概念、参数含义)
  • 格式化的值
  • 非格式化的值
  • 特殊值

舍入

浮点溢出

  • 精彩案例:浮点溢出的高昂代价
    • 火箭发射失败
    • 原因:类型间转换失误