十进制和二进制之间的转换
既然一个数可以用二进制和十进制两种不同形式来表示,那么两着之间就必然有一定的转换关系。
由十进制数的一般表示式:
可以得到整数的一般表达式:
将等式两边分别除以2,可得第一个余数b0,同时上式演变为:
将等式两边再除以2,可得第二个余数b1,等式变为:
重复上述过程直到商为0,就可由所有的余数求出二进制数。
例题 1.3.3 将(25)d转换为二进制数。
解:该题的解题思想是,不断地用2分解十进制整数,并将余数按得到的顺序由低位到高位排列,即可得到对应的二进制数。
所以(18)d=(b4 b3 b2 b1 b0)b=(10010)b
例题1.3.4 将(155)d转换为二进制数解:当要将一个很大的十进制数转换成二进制数时,采用例题1.3.3的做法很费时 ,我们可以采用另外一种方法。这种方法的思想是从需要转换的十进制数找到与之最接近的2的幂次方,并从这个十进制数中减去该2的幂次方,在剩下的余数中重复这种做法,直到余数为0。然后将所得到的这些2的幂次方与二进制数中的位权相比,相同的位标记为1,其余的为0,这样就可得到与十进制数对应的二进制数。
现在我们来看看155这个十进制数,与2的各个幂次方数比较后可知,与155最近的是128,即27,155减去128后余数为27,而27最接近的是24,27减去16得到11,11减去8(23)得到3,3减去2(21)得到1,1减去1(20)得到0。由于在本次计算中得到2的最高幂次为7,因此可以得知对应的二进制数是一个八位的二进制数,写出这个二进制数的位权,并将其与得到的五个2的幂次方数对比后填入1,其余的用
0代替,最后得到的二进制数为10011011。
需要指出的是,多数计算机或数字系统中只处理4、8、16、32位的二进制数据,因此,数据的位数需配成规格化的位数,如例题1.3.3种转换结果为11001,如将它配成8位,则相应的高幂项应填以0,其值不变,即11001=00011001。
根据十进制数的一般表达式,可以得到十进制小数的表达式如下
:
将等式两边分别乘以2,可得:
比较上面两式,可以发现第一项中2的幂次已经由原来的-1变成了0,而20是整数的最低位的位权,因此可以将该项从表达式中去掉,也就是去掉了b-1。,这样也就使得剩下的数保持为纯小数。继续在表达式的两端乘以2,可得:
这样又得到了一个20项,也就是b-2也将再次被从式子中剔除,但同时也就产生了二进制小数的前两位。重复上述过程,直到 满足要求的位数时做“四舍五入”,也就完成了从十进制小数到二进制小数的转换。
例题8:将(0.706)d转换成误差ε不大于2-10二进制小数。
解:
0.706 ×2=1.412……1……b-1
0.412 ×2=0.824……0……b-2
0.824 ×2=1.648……1……b-3
0.648 ×2=1.296……1……b-4
0.296 ×2=0.592……0……b-5
0.592 ×2=1.184……1……b-6
0.184 ×2=0.368……0……b-7
0.368 ×2=0.736……0……b-8
0.736 ×2=1.472……1……b-9
最后一位小数0.472小于0.5,根据“四舍五入”原则,则有:
0.0 ×2=0……0……b-10
所以, (0.706)d=(0.101101001)b,误差ε< 2-10
网友严斥三星S8爆料!科技达人:吓得赶紧用华为转一发
科大讯飞展出了iFLYOS 软硬一体化的智能硬件端到端解决方案
虹科新品 | 高可靠性、可适用于高磁/压的线性传感器!
三相交流同步发电机,为什么禁止单相使用?三相交流同步发电机单相运行的危害
真·带鱼屏三星CHG90将于ChinaJoy亮相:市面上最“疯狂”的产品
十进制和二进制之间的转换
电源设计PCB布线的特性
磁铁检测报告在如何办理磁铁检测标准和检测项目是什么?
嵌入式Linux下使用GPIO中断功能
废电池“暗藏玄机”栗广普变废为宝
两个或多个隔离式μModule转换器的次级侧串联连接稳定电压和电流输出
美国禁止向我国出口28nm芯片设备,限制台积电在大陆扩产
新AI时代的“利器”,异构计算将重塑产业格局
印度厂商Yotta采购10亿美元英伟达AI芯片
云从科技:AI带来新冲击,布局人机协同
一匹黑马的诞生?360N5:最强游戏手机+配置超华为旗舰+价格秒杀千元机
Moxa推出最新工业级网管型DSL以太网扩展器
家用电烙铁多少瓦合适_电烙铁头怎样防止氧化不沾锡
ABB变频器的典型故障及处理办法
探讨产业互联网发展背景、定义及概念区别