(二)进制、原码、反码、补码、位运算符

本文介绍了整数的四种表示方式:二进制、十进制、八进制和十六进制之间的转换规则。详细讲解了如何从二进制转换为八进制和十六进制,以及反之的转换过程。同时阐述了有符号数在计算机中的表示,包括原码、反码和补码的概念,强调了在运算中使用补码的重要性。最后提到了Java中的位运算符,包括按位与、按位或、按位异或、按位取反以及位移运算符的运算规则。
摘要由CSDN通过智能技术生成

一、进制

1.进制介绍 

对于整数,有四种表示方式:
(1)二进制:以0b或0B开头
(2)十进制:
(3)八进制:以数字0开头表示。
(4)十六进制:以0x或0X开头表示

2. 二进制转八进制

规则:从低位开始,将二进制数每三位一组,转成对应的八进制数即可
案例:请将0b11010101转成八进制

0b110(3)010(2)101(5) = 0325

3. 二进制转十六进制

规则:从低位开始,将二进制数每四位一组,转成对应的十六进制数即可
案例:请将:0b11010101转成十六进制

0b1101(13)0101(5) = 0XD5

4. 八进制转二进制

规则:将八进制数每1位,转成对应的一个3位的二进制数即可
案例:请将0237转成二进制

02(010)3(011)7(111)= 0B10011111

5. 十六进制转换成二进制

规则:将十六进制数每1位,转成对应的4位的一个二进制数即可。
案例:请将0x23B转成二进制

0x2(0010)3(0011)B(1011) = 0B1000111011

P97 晕了

二、原码、反码、补码(重点难点)

对于有符号的而言:

(1)二进制的最高位是符号位:0表示正数,1表示负数

(2)正数的原码,反码,补码都一样(三码合一)

(3)负数的反码 = 它的原码符号位不变,其它位取反(0->1,1->0)

(4)负数的补码 = 它的反码 + 1,负数的反码 = 负数的补码 - 1

(5)0的反码,补码都是0
(6)java 没有无符号数,换言之,java中的数都是有符号的
(7)在计算机运算的时候,都是以补码的方式来运算的
(8)当我们看运算结果的时候,要看他的原码

三、位运算符

java中有7个位运算(& 、| 、^ 、~、 >>、<<和>>>)
分别是 按位与& 、按位或| 、按位异或^ ,按位取反~ ,它们的运算规则是:
(1)按位与& :两位全为1,结果为1,否则为0
(2)按位或| :两位有一个为1,结果为1,否则为0
(3)按位异或^ :两位一个为0,一个为1,结果为1,否则为0
(4)按位取反~:0->1,1->0

  

还有3个位运算符
(1)算术右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位(本质:除以2)
(2)算术左移<<:符号位不变,低位补0(本质:乘以2)
(3)>>>逻辑右移也叫无符号右移,运算规则是:低位溢出,高位补0
(4)特别说明:没有<<<符号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值