跳到主要内容

进位计数值

不同数制数值的计算

不同进制的数的计算方法是一致的,假设 R 进制的数每一位基数为 did_i,其对应权值为 RiR^{i},则其对应的十进制数值 D 为:

D=dn×Rn+dn1×Rn1+......+d1×R+d0D = d_n \times R^{n} + d_{n-1} \times R^{n-1} + ...... + d_1 \times R + d_0

之所以这里计算出来是十进制的数值,是因为这里的每一位上的数值和权值都用的十进制来表示

一般我们用B(Binary)B(Binary)来表示二进制,O(Octal)O(Octal)表示八进制,D(Decimal)D(Decimal)表示十进制,H(Hexadecimal)H(Hexadecimal)表示十六进制

不同数制数值之间的转换

R 进制转为十进制

将 R 进制数按权展开即可,和上述式子一样。

十进制数转为 R 进制数

这个整数部分与小数部分需要分开进行转换。

  1. 整数部分采用除留余数法
  2. 小数部分采用乘基取整法,一个十进制小数,理论上是可以对应到一个精确的 R 进制小数,但是这个 R 进制小数位数的长度可能超出了我们的精度需求,因此,当所得位数过长的时候,我们算到需要的精度的时候就停止。

具体的图示和题目看书上34页

二进制与八、十六进制相互转换

  1. 八、十六进制转为二进制

 只需要把八进制数的每一位转为三位二进制数即可,十六进制同理,将十六进制的每一位数字转为四位二进制。

  1. 二进制转为八、十六进制

 第1点的逆过程,也就是将二进制数从低位开始,每三位转为一个八进制数,高位不足补零。十六进制同理。