进制转换(包含原码、反码、补码)

进制介绍
1、二进制:0,1,满2进1.以0b或0B开头。
2、十进制:0-9,满10进1.
3、八进制:0-7,满8进1.以数字0开头表示
4、十六进制:0-9及A(10)-F(15),满16进1.以0x或0X开头表示。此处的A-F不区分大小写。

举例说明

int n1 = 0b1010;    //二进制
int n2 = 1010;     //十进制
int n3 = 01010;    //八进制
int n4 = 0x10101;   //十六进制

进制的转换

1、二进制转十进制
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。

示范:将0b1011转成十进制的数
0b1011=1 * 2(1-1)次方 + 1 * 2的(2-1)次方 + 0 * 2的(3-1)次方 + 1 * 2的(4-1)次方 = 1 + 2 + 0 + 8 = 11
2、八进制转十进制
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和

示范:将0234转成十进制数
0234 = 4 * 8^0 +3 * 8^1+2 * 8^2=4 + 24 + 128=156
3、十六进制转十进制
规则:从最低位(右边)开始。将每个位置的数提取出来
,乘以16的(位数-1)次方,然后求和。

示范:及那个0x23A转成十进制的数
0x23A = 10 * 16^0 + 3 * 16^1 + 2 * 16^2=10+48+512=570
4、十进制转二进制
规则:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。

示范:将34转成二进制
在这里插入图片描述

5、十进制转八进制
规则:将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制数
6、十进制转十六进制
规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制数
7、二进制转八进制
规则:从低位开始,将二进制数每三位一组,转成对应的八进制数即可。

示范:将0b11010101转成八进制数
0b11010101=0b11(3)010(2)101(5)=325
8、二进制转十六进制
规则:从低位开始,将二进制数没四位一组,转成对应的十六进制数即可。

示范:将0x10011101转成十六进制数
0x10011101=0x1001(9)1101(D)=9D

原码 反码 补码

1、最高制位是符号位:0表示正数,1表示负数
2、正数的原码,反码,补码都一样(三码合一)
3、负数的反码=它的原码符号位不变,其他位取反(0–>1,1–>0)
4、负数的补码=它的反码+1,负数的反码=负数的补码-1
5、0的反码,补码都是0
6、Java没有无符号数,Java中的数都是有符号的
7、在计算机运算的时候,都是以补码的方式来运算的
8、当我们看运算结果的时候,要看它的原码(!!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梦森森

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

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

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

打赏作者

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

抵扣说明:

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

余额充值