数据的表示

时游大约 2 分钟

数据的表示

进制转换

R 进制转十进制

使用按权展开法,具体操作方法为:将 R 进制的每一位数值用 Rk形式表示,即幂的底数为 R,指数为 k,k 与该位和小数点之间的距离有关。当该位位于小数点左边,k 值是该位与小数点之间数码的个数,而当该位位于小数点右边,k 值是负值,其绝对值是该位和小数位之间的数码的个数加 1。

二进制转十进制:10100.01 = 1x24+1x22+1x2-2

七进制转十进制:604.01 = 6x72+4x70+1x7-2

十进制转 R 进制

采用短除法,即将数值除以 R,记录其余数。

94 转为二进制:94/2 = 47 余 0,47/2 = 23 余 1,23/2 = 11 余 1,11/2 = 5 余 1,5/2 = 2 余 1,2/2 = 1 余 0,1/2 = 0 余 1。将其倒序填写,因此 94 的二进制为:1011110

特殊进制转换

二进制转八进制与十六进制,从右到左分组转换,八进制取 3 位,十六进制取 4 位。

10001110 转八进制:10->2 001->1 110->6 === 216 10001110 转十六进制:1000->8 1110->E(14) === 8E

原码、反码、补码、移码

数值 1数值-11-1
原码0000 00011000 00011000 0010
反码0000 00011111 11101111 1111
补码0000 00011111 11110000 0000
移码1000 00010111 11111000 0000

最高位为符号位,1为负数 0为正数。 移码通常用来做为浮点运算中的阶码。

规则:

  1. 正数
    1. 原码、反码、补码都一致
    2. 移码:在补码基础上对首位进行取反
  2. 负数
    1. 反码:除符号位外,其他位置在原码上取反
    2. 补码:在反码基础上+1
    3. 移码:在补码基础上对首位进行取反

数值的范围

整数
原码-(2n-1-1) ~ (2n-1-1)
反码-(2n-1-1) ~ (2n-1-1)
补码-2n-1 ~ (2n-1-1)

当数位为8位时,原码、反码、补码的范围分别为:

  • 原码:-27-1~27-1 (-127~127)
  • 反码: -27-1~27-1 ( -127~127)
  • 补码: -27~ 27-1 (-128~127)

浮点数运算

浮点数就是科学计数法的一种表示数的方式,例如1000的科学计数法为1.0 x 103

浮点数表示:N = M * Re,其中M被称为尾数,e是指数,R为基数。

1000 + 119使用浮点数运算:

  1. 1000科学计数法:1.0 x 103
  2. 119科学计数法:0.119 x 103
  3. 尾数相加1.0 + 0.119 = 1.119
  4. 结果格式化(确保小数点左边第一位不能为0且不能为一位以上的数字):1.119 x 103
上次编辑于:
贡献者: 15327360835chenlulu
Loading...