各个进制的换算

 我来答
科创17
2022-10-20 · TA获得超过6008个赞
知道小有建树答主
回答量:2846
采纳率:100%
帮助的人:194万
展开全部
0,16,2进制的互相转换

所谓16进制,就是由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F共16个数字组成。

逢16进一位,下面就讲讲在没有任何工具的情

况下如何将一10进制转化为16进制:

1000除以16得62余8,那么最低位为8,再将62除以16得3余14,那么倒数第2为E(14对于16进制来说是E),3比16小了,所以不用继续除了

,总的就是3E8,为1000的16进制数。

想要将16进制的数转化为10进制,只需将上面的步骤反过来做就可以了。

不用我多说吧!

2进制仅由0、1两个数字组成,逢1进一。

要将一10进制化为2进制,介绍一个简单的方法,先将10进制的数化为16进制,再化为2进制,举

个例子:

515对应16进制为203H,将203转为2进制则为0010(2)0000(0)0011(3),一个位数对2进制来说是4个字符。

0H就是0000、1H就是

0001、……、0EH就是1110、OFH为1111,大家可自己推一下。

总之大家一定要熟练掌握各个进制的互相转化,尤其是100以内10--16和16--10的互相转化要记住。

16-10H、32-20H、48-30H、64-40H、80-50H、96-60H、100-64H,255-FFH,65535-FFFFH,1677万-FFFFFFH,前为10进制,后有H的为16

进制,这些能记住最好,以后修改就方便许多了。

二进制

二进制是逢2进位的进位制,0、1是基本算符。

现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。

二进制四则运算规则

加法0+0=0,0+1=1+0=1,1+1=10

减法0-0=0,1-0=1,1-1=0,0-1=-1

乘法0×0=0,0×1=1×0=0,1×1=1

除法0÷1=0,1÷1=1

一、什么是二进制

在现实生活和记数器中,如果表示数的“器件”只有两种状态,如电灯的“亮”与“灭”,开关的“开”与“关”。

一种状态表示数码0,另一种状态表示数码1,1加1应该等于2,因为没有数码2,只能向上一个数位进一,就是采用“满二进一”的原则,这和十进制是采用“满十进一”原则完全相同。

1+1=10,10+1=11,11+1=100,100+1=101,

101+1=110,110+1=111,111+1+=1000,……,

可见二进制的10表示二,100表示四,1000表示八,10000表示十六,……。

二进制同样是“位值制”。

同一个数码1,在不同数位上表示的数值是不同的。

如11111,从右往左数,第一位的1就是一,第二位的1表示二,第三位的1表示四,第四位的1表示八,第五位的1表示十六。

用大家熟悉的十进制说明这个二进制数的含意,有以下关系式

(11111)(二进制)=1×24+1×23+1×22+1×2+1(十进制)

一个二进制整数,从右边第一位起,各位的计数单位分别是1,2,22,23,…,2n,…。

1为什么需要八进制和十六进制?

编程中,我们常用的还是10进制……必竟C/C++是高级语言。

比如:

inta=100,b=99;

不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。

但,二进制数太长了。

比如int类型占用4个字节,32位。

比如100,用int类型的二进制数表达将是:

000000000000000001100100

面对这么长的数进行思考或操作,没有人会喜欢。

因此,C,C++没有提供在代码直接写二进制数的方法。

用16进制或8进制可以解决这个问题。

因为,进制越大,数的表达长度也就越短。

不过,为什么偏偏是16或8进制,而不其它的,诸如9或20进制呢?

2、8、16,分别是2的1次方,3次方,4次方。

这一点使得三种进制之间可以非常直接地互相转换。

8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。

在下面的关于进制转换的课程中,你可以发现这一点。

6.2二、八、十六进制数转换到十进制数

6.2.1二进制数转换为十进制数

二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……

所以,设有一个二进制数:01100100,转换为10进制为:

下面是竖式:

01100100换算成十进制

第0位0*20=0

第1位0*21=0

第2位1*22=4

第3位0*23=0

第4位0*24=0

第5位1*25=32

第6位1*26=64

第7位0*27=0+

---------------------------

100

用横式计算为:

0*20+0*21+1*22+1*23+0*24+1*25+1*26+0*27=100

0乘以多少都是0,所以我们也可以直接跳过值为0的位:

1*22+1*23+1*25+1*26=100资讯转帖于iT粉丝网_
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式