常见进制的转换过程和整数在内存中存储方式

本文详细介绍了二进制、八进制、十进制和十六进制之间的转换方法,包括具体的计算步骤和实例演示,帮助读者掌握不同进制间的转换技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是十六进制

以0x开头的数据表示十六进制,在十六进制中,A、B、C、D、E、F这五个字母分别表示10、11、12、13、14、15,例如0xff换成十进制为255。

二、十六进制转十进制

0xff换成十进制255转换过程为

0xff(16进制)换成十进制:

0xff=15*16^1+15*16^0=240+15=255

0xff转二进制再转十进制: 

0xff=11111111=2^8-1=255

三、位运算

按位运算符 异或
0 ^ 1 得 1
1 ^ 1 得 0
0 ^ 0 得 0
1 ^ 0 得 1
位运算符 异或
0 ^ 1 得 1
1 ^ 1 得 0
0 ^ 0 得 0
1 ^ 0 得 1

^ 运算符是 按位异或 
1、异或是一个数学运算符。他应用于逻辑运算。 
2、例如:真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值不相同,则异或结果为真。反之,为假。 
3、在计算机应用中,普遍运用,异或的逻辑符号 ^ (Shift + 6).形象表示为:
真^假=真 
假^真=真 
假^假=假
真^真=假
或者为:
True ^ False = True
False ^ True = True
False ^ False = False
True ^ True = False
部分计算机语言用1表示真,用0表示假

四、常见的进制及特点

  • 二进制(电子设备识别,主要是0和1来表示)

进位规则:“逢二进一”。计算技术中广泛采用的一种数制。用0和1两个数码来表示。

  • 八进制(编程中多用于表示位数较多的二进制数)

进位规则:“逢八进1”。采用0,1,2,3,4,5,6,7八个数字。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。

  • 十进制人类使用)

进位规则:“满十进一,满二十进二,以此类推……”。人类算数采用的就是十进制,可能跟人类有十根手指有关。

  • 十六进制**(编程中多用于表示位数较多的二进制数)**

进位规则:“逢16进1”。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字。

 

五、常见进制之间的转换

1.十进制转二进制

十进制整数转换为二进制整数十进制整数转换为二进制整数采用"除2取余,逆序排列"法。(如图)


 

2.二进制转八进制

拿二进制数‭1000001000‬举例

首先需要将该二进制数3位为一组,最高位不足时补零即可。我们可以看出该二进制数为十位,我们需要补充2位。

即‭001-000-001-000‬(二进制)从左到右依次是:(计算方法是从右向左依次乘上2的n次幂,n从零开始,^符号表示次幂)

0 0 1 0 0 0 0 0 1 0 0 0

02^2+02^1+12^0 02^2+02^1+02^0 02^2+02^1+12^0 02^2+02^1+02^0

1 0 1 0 ------->01010(八进制)

所以二进制数1000001000‬,转换成为八进制结果为01010


 

3.二进制转十进制

拿二进制数100010举例

这里就不需要划分区域,而是直接进行计算。(计算方法是从右向左依次乘上2的n次幂,n从零开始,^符号表示次幂)

1 0 0 0 1 0 12^5 + 02^4 + 02^3 + 02^2 + 12^1 + 02^0 加起来的结果为:34

所以二进制数100010,转换成为十进制结果为34


 

4.二进制转十六进制

拿二进制数10100100010举例

二进制转十六进制和二进制转八进制类似,不过转十六进制划分区域为4个,不足也是补零

即0101-0010-0010

0101 0010 0010

02^3+12^2+02^1+12^0=5 02^3+02^2+12^1+02^0=2 02^3+02^2+12^1+02^0=2

5 2 2 ------->0X522(十六进制)

所以二进制数10100100010,转换成为八进制结果为0X522


 

5.八进制转二进制

八进制转二进制是二进制转换成八进制的逆过程。(不足时也是补零)

拿八进制数0226举例(需要取余数,采用倒叙过程)

2 2 6

2/2=1(余数为0) 2/2=1(余数为0) 6/2=3(余数为0)

1/2=0(余数为1) 1/2=0(余数为1) 3/2=1(余数为1)

1/2=0(余数为1)

010 010 110

组合就是010-010-110 ,所以最终转换的二进制数为10010110


说明:十进制转换成八进制和十六进制都是运用除8(或16)取余数,逆序排列的方法!!!

好了,上面就是二进制,八进制,十进制,十六进制之间的转换。我们可以进行分类记忆,并总结规律。

注意:1.我们在将进制数除以2的时候一定要选择逆顺序;

2.在乘以次幂的时候也是从右往左的顺序,由零次幂依次递增;

3.注意八进制的前缀为0,十六进制前缀为0X;

4.十六进制组成的英文字母中,英文字母可以是大写,也可以是小写;

5.十六进制使用场合比较多,例如常用于表示地址值,还可以用于表示颜色;

6.在编程中,我们可以使用十进制、八进制和十六进制,但是不能直接使用二进制。

 

 

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Thinkingcao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值