程序员教程第五版笔记

进制的转化

  1. r进制与十进制转化
    1. r进制转化为十进制的方法是:将r进制数的每一位数乘以它的权,然后相加。
    2. 十进制转化为r进制的方法是:整数部分使用“除r取余”,小数部分“乘r取整”。
  2. 二进制与八进制的转化
    1. 二进制转化为八进制时,从小数点开始,每三位二进制数为一组(不足三位时,在小数点左边时左边补0,在小数点右边时右边补零),写出每一组的等值八进制数,顺序排列起来就是八进制。
    2. 八进制转化为二进制时与二进制转化为八进制思路相反。
  3. 二进制与十六进制的转化
    1. 二进制转化为十六进制时,从小数点开始,每四位二进制数为一组(不足四位时,在小数点左边时左边补0,在小数点右边时右边补零),写出每一组的等值十六进制数,顺序排列起来就是十六进制。
    2. 十六进制转化为二进制时与二进制转化为十六进制思路相反。

机器数与码制

  1. 正数的原码、反码、补码都相同。
  2. 负数的反码是其绝对值按位求反。
  3. 负数的补码等于反码末尾加1。
  4. 采用补码时,码值大者对应的真值就大。
  5. 移码等于补码符号位相反

定点数与浮点数

  1. 定点数就是小数点固定不变的数,小数点位置通常有两种约定方式:纯小数或者纯整数。
  2. 浮点数相当于科学技术法。
  3. 浮点数所表现的数值范围由阶码决定、数值精度由尾数决定。

根据十进制求单精度浮点数

题1、利用IEEE 754标准将176.0625表示为单精度浮点数

答:

  1. 将十进制转化为二进制
    1. 176.0625 = 10110000.0001
  2. 规格化二进制数(最高位需要为1)
    1. 10110000.0001 = 2^7*1.01100000001
  3. 计算指数
    1. 7+127 = 134
    2. 10000110
  4. 得到单精度浮点数
    1. 符号位 0
    2. 指数部分 10000110
    3. 尾数部分 01100000001000000000000(需要补齐32位)
  5. 单精度浮点数 
    1. 01000011001100000001000000000000

猜你喜欢

转载自blog.csdn.net/zyp1376308302/article/details/81938782