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

本篇文章以 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

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
二进制八进制:使用 PHP 内置函数 decoct(),将二进制数转换为十进制数,再将十进制数转换为八进制数。例如,将二进制数 11010 转换为八进制数,步骤如下: 1. 将二进制数 11010 转换为十进制数,使用 bindec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为八进制数,使用 decoct() 函数,得到八进制数 32。 因此,二进制数 11010 转换为八进制数为 32。 二进制十六进制:使用 PHP 内置函数 dechex(),将二进制数转换为十进制数,再将十进制数转换为十六进制数。例如,将二进制数 11010 转换为十六进制数,步骤如下: 1. 将二进制数 11010 转换为十进制数,使用 bindec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为十六进制数,使用 dechex() 函数,得到十六进制数 1A。 因此,二进制数 11010 转换为十六进制数为 1A。 八进制二进制:使用 PHP 内置函数 decoct(),将八进制数转换为十进制数,再将十进制数转换为二进制数。例如,将八进制数 32 转换为二进制数,步骤如下: 1. 将八进制数 32 转换为十进制数,使用 octdec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为二进制数,使用 decbin() 函数,得到二进制数 11010。 因此,八进制数 32 转换为二进制数为 11010。 八进制十进制:使用 PHP 内置函数 octdec(),将八进制数转换为十进制数。例如,将八进制数 32 转换为十进制数,直接使用 octdec() 函数,得到十进制数 26。因此,八进制数 32 转换为十进制数为 26。 八进制十六进制:使用 PHP 内置函数 decoct(),将八进制数转换为十进制数,再将十进制数转换为十六进制数。例如,将八进制数 32 转换为十六进制数,步骤如下: 1. 将八进制数 32 转换为十进制数,使用 octdec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为十六进制数,使用 dechex() 函数,得到十六进制数 1A。 因此,八进制数 32 转换为十六进制数为 1A。 十六进制二进制:使用 PHP 内置函数 hexdec(),将十六进制数转换为十进制数,再将十进制数转换为二进制数。例如,将十六进制数 1A 转换为二进制数,步骤如下: 1. 将十六进制数 1A 转换为十进制数,使用 hexdec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为二进制数,使用 decbin() 函数,得到二进制数 11010。 因此,十六进制数 1A 转换为二进制数为 11010。 十六进制八进制:使用 PHP 内置函数 hexdec(),将十六进制数转换为十进制数,再将十进制数转换为八进制数。例如,将十六进制数 1A 转换为八进制数,步骤如下: 1. 将十六进制数 1A 转换为十进制数,使用 hexdec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为八进制数,使用 decoct() 函数,得到八进制数 32。 因此,十六进制数 1A 转换为八进制数为 32。 十六进制十进制:使用 PHP 内置函数 hexdec(),将十六进制数转换为十进制数。例如,将十六进制数 1A 转换为十进制数,直接使用 hexdec() 函数,得到十进制数 26。因此,十六进制数 1A 转换为十进制数为 26。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值