二进制转换算法

上传人:pu****.1 文档编号:490007561 上传时间:2023-12-17 格式:DOC 页数:6 大小:51KB
返回 下载 相关 举报
二进制转换算法_第1页
第1页 / 共6页
二进制转换算法_第2页
第2页 / 共6页
二进制转换算法_第3页
第3页 / 共6页
二进制转换算法_第4页
第4页 / 共6页
二进制转换算法_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《二进制转换算法》由会员分享,可在线阅读,更多相关《二进制转换算法(6页珍藏版)》请在金锄头文库上搜索。

1、计算机进制转换一、概念1.十进制 十进制使用十个数字(0、1、2、3、5、6、7、8、9)记数,基数为,逢十进一。 历史上第一台电子数字计算机ENAC是一台十进制机器,其数字以十进制表达,并以十进制形式运算。设计十进制机器比设计二进制机器复杂得多。而自然界具有两种稳定状态的组件普遍存在,如开关的开和关,电路的通和断,电压的高和低等,非常适合表达计算机中的数。设计过程简朴,可靠性高。因此,目前改为二进制计算机。 . 二进制 二进制以2为基数,只用0和两个数字表达数,逢二进一。二进制与遵循十进制数遵循同样的运算规则,但显得比十进制更简朴。例如: (1)加法:0+00 +1=1 +=11+=0 (2

2、)减法:00= 1-11-0=1 01=1 (3)乘法:*0= *0 *=0 111(4)除法:0= /1=1,除数不能为 二、进制转换 1.二进制与十进制数间的转换 ()二进制转换为十进制 将每个二进制数按权展开后求和即可。请看例题, 例:把二进制数0111转化为十进制数:(10.1)2=1220*1+120+1*2-10*2-2+1*-3(5.625)0二进制数第位(整数部分的个位)的权值是的0次方,第位(整数部分的十位)的权值是2的1次方,以此类推;相应的小数部分的个位的权值是2的-1次方,小数部分的十位是2的-2次方,以此类推。设有一种二进制数:00100,转换为1进制为:下面是竖式:

3、0110000 换算成十进制第0位 0 * 200第1位 0* 20第2位 1 22=4第3位 *3=0第4位0 * 2=0第5位 1 25= 2第6位 1* 26= 64第7位 0 *2 +- 10用横式计算为:0 * 2 0 * 1 1 * 2 + 1 * 3 + 0 24 + 1 * 5 + 126 + 0 * 7 10乘以多少都是,因此我们也可以直接跳过值为0的位:1 * 22+1*23 1 *25 +1 26 = 100()十进制转换为二进制 一般需要将十进制数的整数部分与小数部分分开解决。 整数部分计算措施:除倒取余法(用数不断除2至成果为0,将余数从下向上倒序写。)请看例题: 例

4、1.求十进制数302转化为二进制数 302/2 51 余 11/ 7 余1 75/2 = 7 余1 3/2=8余1 82 = 9 余0 /2 余4/2= 2 余0 2= 余0 /2=余1故二进制为 成果(02)1=()2例2:求十进制数89转化为二进制数89/24 44/2 =220 2/2 =11 1/=5 1 5/2 =2 /21 1/2 =0 故二进制位011001 成果(8)10=(101001)2小数部分计算措施:乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表达法中的数字,第一次乘法所得的整数部分为最高位。请看例题: 例: 将十进制数0.2

5、5转化为二进制数0.625*2=1.2 成果125取,小数位.25继续乘以2 0.2*20. 成果0.5取0,小数位继续乘以25*=1 成果1取,无小数计算结束故二进制位10 成果(0.25)10(.10)2注:小数部分不断乘以2,成果一般最后不会为1,题目规定取几位小数则计算几位。乘以2成果为为正好转换的状况,无误差。2.二进制与十六进制数间的转换 二进制十六进制01021130401511171008100901A1011B1100C110D110E1111F 注:上面是二进制与十六进制相应表 (需要熟记,如给出11能懂得相应十六进制是D,给出十六进制F懂得相应的二进制是11)。二进制转换

6、为十六进制,可以把个二进制位编为一组(不够时二进制数左侧补0),如十六进制1相应的二进制位01、十六进制2相应的二进制位010()二进制数转换成十六进制数二进制数转换成十六进制数措施如下,四个二进制数位为一种十六进制数。将二进制数从右面开始以四位为一组分组,最左面不够四位的补,按上表查得相应的十六进制数,组合起来后来就成了。 如010110,可当作是两组二进制数0101和1100,则这个数就是十六进制的5C。010 1110的十六进制数是6E()十六进制转换成二进制措施十六进制转换成二进制措施如下,以十六进制数3为例:将十六进制的每一位转换成四位二进制数,局限性四位的在左面补,组合起来即可得到

7、二进制数。3E的二进制数是11111,即111 十进制转十六进制:(1)10转1用老式的计算方式可以了,就是不小于15不不小于26的10进制数除以位的值为十位的16进制数,其他数为个位的1进制数,没余数则个位为0。如1的1进制是3D,61除以6得3余13,3作十位数,转成D为个位数。(2)16转0:十六进制数转换成2进制,用两个阿拉伯数字:、1;8进制,用八个阿拉伯数字:、3、4、5、6、7;10进制,用十个阿拉伯数字:0到9;16进制,1进制就是逢1进1,但我们只有0这十个数字,因此我们用A,B,C,D,,F这五个字母来分别表达10,11,12,13,,15。字母不辨别大小写。 十六进制数的

8、第0位的权值为16的次方,第位的权值为16的1次方,第位的权值为1的2次方 因此,在第N(N从0开始)位上,如果是是数 X(X 不小于等于0,并且X不不小于等于 1,即:F)表达的大小为 16的N次方。假设有一种十六进数2F5, 那么如何换算成10进制呢?2AF换算成10进制: * 160+F *161+A * 162 +2* 63 = 10997 (在上面的计算中,A表达10,表达15)目前可以看出,所有进制换算成10进制,核心在于各自的权值不同。二进制、八进制、十六进制转化为十进制均可用此措施,变化权值即可。4 .二进制转为八进制(1)二进制转为八进制,可以从右边开始 位二进制位编为一组(不够左侧补 ),然后从右边开始每三位按如下方式替代:二进制八进制1101300410151101117例如转换二进制数 0 那么分组为111001 010100 按照转换措施相应转换 6 2 4因此 (0)2 (124)8(2)八进制转化为二进制数,将十六进制的每一位转换成三、三位二进制数,局限性三位的在左面补,组合起来即可得到二进制数。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号