「计算机基础」进制转换

本文介绍了计算机基础知识中的进制转换,包括十进制、二进制、十六进制和八进制的概念及其相互转换。重点讲解了如何将十进制数转换为二进制,以及十六进制和八进制与二进制之间的转换。强调了二进制在计算机中的重要性,因其在电子计算机中易于表示和处理。

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

计算机里,为了标志不同进制的数据,一般在数据末尾使用特殊标记来标明。二进制使用 字母D标记,一般省略不写,如70D、223;二进制使用字段B标记,如1011B、110B;十六进制用字段H标记,如18H、A2H;八进制使用O标记,如70O、235O。

一、十进制

        在日常生活中,我们使用最多、最熟悉的就是十进制。它的数值由十个不同的数字符号 0、1、2、3、4、5、6、7、8、9 来表示。这些数字符号叫 数码,表示十种不同的状态。数码位于不同的位置时,代表的意义(数值)是不同的。

        例如:对于字符6,当放到十位上,表示60;放置到千位上时,表示6000。

        再如:对于32.15这个数,小数点左边的2在个位,数值即为它自身;左边挨着的3在十位,表示3x10;而小数点右边的1在十分位,表示 1x1/10=0.1;它右边的5在百分位,表示5x1/100=0.05。因此也可以写为 32.15=3x10^1+2x10^0+1x10^{-1}+5x10^{-2}

        进位制:进位计数制,就是说,它是按进位的方式计数的。

        基数:进位制中,可能用到的数码个数。如,基数为十,则每位计满十向高位进一,即“逢十进一”,这种就是我们常说的十进制。

        除也十进制外,还有其它非十进制的数。比如时间,60秒为一分钟,60分钟为一小时,所以是六十进制;还有一打啤酒,就是十二,因此是十二进制。

二、二进制

        基于上面的二进制,可以知道二进制的基数为2,即“逢二进一 ”,使用“0”和“1”表示。

        特点:由于二进制每个数位上只取两个不同的数码“0”和“1”,因此能够比较容易地在电子计算机中表示。比如,低电平(没有电)表示0,以高电平(有电压)表示1,比较容易实现,误码率也很低。同时,每位只有“0”和“1”两个状态,能够与逻辑运算结果的两个状态“真”和“假”对应,可以利用二进制来实现逻辑运算。

        正是由于二进制在计算机上的可行性、简易性、逻辑性和可靠性等特点,使得科学家选用二进制作为计算机内部的标准数值。尽管计算机可以输入输出十进制等数值,但计算机内部存储、处理和传输的都是二进制数据。

三、十进制转二进制

        要把一个十进制转换为二进制,首先做是按小数点分隔为两部分。

        对于整数部分,就是一直除以2,直到商为零,把余数倒序记录,这个数就是十进制数整数部分的二进制表达形式。

        对于小数部分,则是对小数乘以2,顺序记下积的整数部分,直到积的小数部分为零为止,这个数就是十进制数小数部分的二进制表达形式。

        把整数部分的二进制数与小数部分的二进制数组合起来,就是最终的二进制结果。

        注意:并不是所有的有限十进制数都能转换为有限的二进制数,对于这种情况,根据精度保留一定位数即可。

 

        二进制转十进制

        0.11B = 1x2^{-1}+1x2^{-2}=0.5+0.25 = 0.75

        0.1011B = 1x2^{-1}+0x2^{-2}+1x2^{-3}+1x2^{-4}=0.5+0+0.125+0.0625 = 0.6875

10111001B = 1\times 2^{0}+0\times2^{1}+0\times2^{2}+1\times2^{3}+1\times2^{4}+1\times2^{5}+0\times2^{6}+1\times2^{7}=185

四、十六进制、八进制

        同理,十六进制的基数为16,使用16个数码,逢16进1。16个数码为 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。

        八进制的基数为8,使用8个数码,逢8进1。8个数码为 0、1、2、3、4、5、6、7。

        十六进制与八进制转 十进制,可以参考 二进制转十进制的方法,如下

16进制转10进制:

2C6E=14\times16^{0}+6\times16^{1}+12\times16^{2}+2\times16^{3}=11374

F8=8\times16^{0}+15\times16^{1}=248

8进制转10进制:

7424O=4\times8^{0}+2\times8^{1}+4\times8^{2}+7\times8^{3}=3860

36O=6\times8^{0}+3\times8^{1}=30

        而十六进制与八进制 与二进制 互转,有更简便的方式。

        由于16进制的基数是16,正好是2的4次幂;8进制的基数是8,正好是2的3次幂。因此,一位16进制数对应4位二进制数,一位8进制数对应3位二进制数。

        因此,对于16进制,把每一位解析为4位二进制数即可;对于8进制数,每一位解析为3位二进制数即可。示例如下

245O=10 100 101B   010(2) 100(4) 101(5)

7002O=111000000010    111(7) 000(0) 000(0) 010(2)

EA207=11101010001000000111    1110(E) 1010(A)  0010(2) 0000(0) 0111(7)

        对于有小数的二进制数,有可能需要补零

100111001010.11001B=4712.62O=9CA.C8=2506.78125

        注意,小数点后的 11001,转为8进制时,前三位为 110B=6O,后面仅两位,需要补0凑位,应该为010B=2;转为16进制时,前4位为1100B=C,后面仅一位,需要补3个0凑位(一个16进制数等于4个二进制数),应该1000B=8。

五、进制速查表

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值