javaSE----进制

其他进制转10 进制

冯诺依曼体系: 计算机所有的操作都是基于二进制

  • 10进制 --> 123 = 110^2+ 210^1 + 3*10^0
  • 2进制 --> 101 = 12^2 + 02^1 + 1*2^0 = 5
  • 16进制 --> aa = 1016^1 + 1016^0 = 170

10进制转2进制

对2取余 13–> 1101

如何表示正负数

使用最高位表示符号为
0111 – 7
1111 – -7

问题:

  • 数字0如何表示
    0000
    1000

  • 如何计算两个数的加法
    7-3 = 7 + (-3)
    0111
    1011
    0010
    结果是错的

二进制中的原,反,补

  • 原码:
    • 正数的原码是本身
    • 负数的用最高位1表示负数
    • 6 0000 0110
    • -6 1000 0110
  • 反码
    • 正数的反码跟原码一样
    • 负数的反码是负数的原码按位取反,符号位不变
    • 6 0000 0110 0000 0110
    • -6 1000 0110 1111 1001
  • 补码 (整数都是以补码的形式在计算机中存储的)
    • 正数的补码和原码一样
    • 负数的补码是负数的反码加1
    • 6 0000 0110–> 0000 0110–>0000 0110
    • -6 1000 0110–> 1111 1001–> 1111 1010
    • -128 1000 0000 -->0111 1111 --> 1000 0000
      原因:

使用原码,反码计算时不准确,使用补码计算时才准确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠闲的线程池

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值