二进制、八进制、十进制、十六进制的转换

一、十进制与二进制的转换

1.逢二进一法

十进制转二进制计算思路

2.除二取余法

7的二进制:

7/2=3余1
3/2=1余1
1/2=0余1
从下往上组合:7的二进制为111

在这里插入图片描述

3.java中赋值二进制使用0B或0b开头

public class test {
    public static void main(String[] args) {
        //赋值二进制数据使用0b或0B开头
        int a = 0b111;
        System.out.println("0b111的十进制是:" + a);
    }
    //输出结果:0b111的十进制是:7

二、二进制与十进制的转换

在这里插入图片描述
说明:①二进制只有四位时,按从右到左的顺序:千位乘8 + 百位乘4 + 十位乘2 + 个位乘1的值等于十进制
②计算机最小存储单位为1字节(Byte),1字节=8比特位,当二进制不足8位时,从右到左将空位填充0,例如7:00000111

三、二进制与八进制的转换

1.将二进制从左到右每3位进行分割计算八进制

例如97的二进制:01100001,分割为01,100,001
将每一段*8421可得出97的八进制为:141
计算逻辑:01*8421=1,100*8421=4,001*8421=1

2.通过八进制倒推二进制再转换十进制

八进制:151
倒推二进制:1=1,5=101,1=001
倒推二进制结果:01101001
转换十进制:2^7*0 + 2^6*1 + 2^5*1 + 2^4*0 + 2^3*1 + 2^2*0 + 2^1*0 + 2^0*1
十进制结果:  0   +  64   +  32   +   0   +   8   +   0   +   0   +   1   = 105

3.八进制的最大值与最小值

最大值:二进制111=八进制4+2+1=7
最小值:二进制000=八进制0
八进制范围:0-7,共8位

4.java中赋值八进制使用0开头

public class test {
    public static void main(String[] args) {
        //赋值八进制使用0开头
        int a = 0151;
        System.out.println("0151的十进制是:" + a);
    }
    //输出结果:0151的十进制是:105
}

四、二进制与十六进制的转换

1.十六进制的最大值与最小值

最大值:二进制1111=十六进制8+4+2+1=15
最小值:二进制0000=十六进制0
十六进制范围:0-15,共16位,分别是0-9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)

2.将二进制从左到右每4位进行分割计算十六进制

例如182的二进制:10110110,分割为1011,0110
将每一段*8421可得出182的十六进制为:B6
计算逻辑:1011*8421=11=B,0110*8421=6

3.通过十六进制倒推二进制再转换十进制

十六进制:C1
倒推二进制:C=12,12=8+4,C=1100,1=0001
倒推二进制结果:11000001
转换十进制:2^7*1 + 2^6*1 + 2^5*0 + 2^4*0 + 2^3*0 + 2^2*0 + 2^1*0 + 2^0*1
十进制结果: 128   +  64   +  0   +   0   +   0   +   0   +   0   +   1   = 193

4.java中赋值十六进制使用0x或0X开头

public class test {
    public static void main(String[] args) {
        //赋值十六进制使用0x或0X开头
        int a = 0xC1;
        System.out.println("0xC1的十进制是:" + a);
    }
    //输出结果:0xC1的十进制是:193
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值