进制转换(二进制、八进制、十进制、十六进制)

本篇文章以 Java 代码做示范。

進制介紹

对于整数,有四种表示方式:

  • 二进制:0,1,满 2 进 1。以 0b 或 0B 开头
  • 十进制:0-9,满 10 进 1
  • 八进制:0-7,满 8 进 1。以数字 0 开头
  • 十六进制:0-9及A(10)-F(15) 满 16 进 1。以 0x 或 0X 开头表示。此处的 A-F不区分大小写。
int n1 = 0b1010; // 二进制
int n2 = 1010; // 十进制
int n3 = 01010; // 八进制
int n4 = 0x10101; // 十六进制
System.out.println(n1+" "+n2+" "+n3+" "+n4); // 10 1010 520 65793
十进制 二进制 八进制 十六进制
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
17 10001 21 11

二进制转十进制

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

0b1011 = 1 * 2(1-1) + 1 * 2(2-1) + 0 * 2(3-1) + 1 * 2(4-1) = 1 * 1 + 1 * 2 + 0 + 1 * 8 = 11

你可以打开windows自带小算盘,切换成程序设计人员模式,然后选择二进制输出 1011 左侧可以直接看到其他进制的转换结果。

在这里插入图片描述

八进制转十进制

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

0234 = 4 * 80 + 3 * 81 + 2 * 82 = 4 + 24 + 128 = 156

在这里插入图片描述

十六进制转十进制

规则:从最低位(右边)开始,将每个位上的数提取出来,乘以 16 的(位数 -1)次方,然后求和。
例子:请将 0x23A 转成十进制的数。

0x23A = 10 * 160 + 3 * 161

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值