软件设计师1:数据的表示

(一)、数据的表示

1、进制转换

  1. x进制转十进制使用按权展开法

    二进制:10100.01 = 1x2^4 + 1x2^2 + 1x2^-2
    七进制:604.01 = 6x7^2 + 4x7^0 + 1x7^-2
    
  2. 十进制转x进制使用短除法(除到数据<进制数时)

    94转二进制
           余数
    2|94    0
    2|47    1
    2|23    1
    2|11    1
    2|5     1
    2|2     0
      1
    
    结果为:1011110
    
  3. 二进制转八进制与十六进制

    转八进制,3位二进制为1位八进制
    10 001 110
    2   1   6
    
    转十六进制,4位二进制位1位十六进制
    1000 1110
     8    E
    

2、码制

  1. 数值为正时:

    原码 = 反码 = 补码,移码 = 补码的符号位取反

  2. 数值为负时:

    反码 = 原码的符号位外取反

    补码 = 反码 + 1

    移码 = 补码的符号位取反

  3. 例如:

    数值 1数值 -1计算 1-1( 看作1+(-1) )
    原码0000 00011000 00011000 0010 显然错误
    反码0000 00011111 11101111 1111 显然错误
    补码0000 00011111 11110000 0000 正确
    移码1000 00011111 11111000 0000 显然错误,答案为 -0

3、数值表示范围

  1. 定点整数

    假设数据位数n=4
    原码:1111 ~ 0111,范围为:-7 ~ 7
    
  2. 定点小数

    假设数据位数n=4,负数个位数也算一位
    原码:-0.111 ~ 0.111,范围为:-7/8 ~ 7/8
    
码制定点整数定点小数
原码-(2^(n-1) - 1) ~ +(2^(n-1) - 1)-(1 - 2^-(n-1)) ~ +(1 - 2^-(n-1))
反码-(2^(n-1) - 1) ~ +(2^(n-1) - 1)-(1 - 2^-(n-1)) ~ +(1 - 2^-(n-1))
补码-2^(n-1) ~ +(2^(n-1) - 1) 少了 -0-1 ~ +(1 - 2^-(n-1))
移码-2^(n-1) ~ +(2^(n-1) - 1) 少了 -0-1 ~ +(1 - 2^-(n-1))

4、浮点数的运算

  1. 浮点数表示

    N = 尾数 * 基数^指数
    如:3.14 x 10^3
    尾数为:3.14
    基数为:10
    指数为:3
    
  2. 运算过程:对阶(指数) > 尾数计算 > 结果格式化

  3. 特点:

    • 一般尾数用补码,阶码用移码
    • 阶码的位数决定数的表示范围,位数越多范围越大
    • 尾数的位数决定数的有效精度,位数越多精度越高
    • 对阶时,小数的指数向大数看齐
    • 对阶是通过较小的尾数右移实现的
  4. 浮点数的存储格式(1表示+,0表示-)

    阶符阶码数符尾数
    3.14 x 10^50503.14
    -3.14 x 10^-51513.14
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值