java进制、原码、反码、补码、

先了解一下计算机中的进制

不同进制的数据组成
二进制——由0,1组成。以0b开头;
八进制——由0,1,…7组成。以0开头;
十进制——由0,1,…9组成。整数默认是十进制的;
十六进制——由0,1,…9,a,b,c,d,e,f(大小写均可)组成,以0x开头;

进制转换:
其他进制-》十进制

位权展开法:
十进制-》十进制
54321
5 * 10000+4 * 1000+3 * 100+2 * 10+1

二进制——》十进制
100110
权:543210
位:100110
1*2^5+1*2^2+1*2^1=38
十进制—>其他进制(除方法)
有符号数的表示
在计算机内,有符号数有三种表示方法:原码、反码、补码。
   有符号数据表示法: 原码、反码和补码。所有数据的运算都是采用补码进行的。最高位“0”表示正,“1”表示
原码:
         例如: X=+101011 , [X]原= 00101011    X=-101011 , [X]原= 10101011 
       位数不够的用0补全。

PS:正数的原、反、补码都一样:0的原码跟反码都有两个,因为这里0被分为+0和-0。

反码:
    反码就是在原码的基础上,符号位不变其他位按位取反(就是0变1,1变0)就可以了。(只针对负数)
补码
                 负数的补码是在其反码的末位加1。

PS:0的补码是唯一的,如果机器字长为8那么[0]补=00000000。

移码:

移码最简单了,不管正负数,只要将其补码的符号位取反即可。

Q3:已知某数X的原码为0b10110100,试求X的补码和反码。

  10110100       补码:11001100      反码:11001011
  11001011            10110101         10110100
  11001100            10110100         10110011

  已知某数X的补码0b11101110,试求其原码。
    1110 1110    反11100001    原10011110
    1110 1101    反11101100    原10010011
    1001 0010    反10010001    原11101110
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值