首页 理论教育 进制转换:十进制与二进制的互换

进制转换:十进制与二进制的互换

时间:2023-06-24 理论教育 版权反馈
【摘要】:,210,211,212,213这些十进制数是1,2,…例如:AC7H=1010 1100 0111B=10×162+12×16+7=27592.十进制与二进制的互换1)2的整幂加减拼凑法若一个十进制数接近2n,采用2的整幂加减拼凑法转换为二进制数简明快捷。例如:将十进制数135视为128加7,则其结果为1后面有7个0的二进制数再加上111B,所以135=10000111B。1000001B,余数65的二进制数用口算得到。3)减权取1法对于较大的十进制数化为二进制数可采用“减权取1法”。将十进制数3145,10000化为二进制数。

进制转换:十进制与二进制的互换

二进制数学德国著名数学家莱布尼兹最早提出的,1679年莱布尼兹发表了论文《二进制算术》。因为二进制数易于电路实现且运算规则简单,例如电平的高低,开关元件的通断,电容器是否带电、人的性别等都可以用数字1和0表示,所以二进制数成为现代数字系统信息表示的基础。

1.二进制与十六进制的定义

1)二进制数的定义

N=kn2n+kn-12n-1+…+k121+k020+k-12-1+…+k-m2-m,ki∈{0,1}。请读者熟悉以下这些二进制数。

① 20,21,…,210,211,212,213这些十进制数是1,2,…,1024,2048,4096,8192;

② 2n=100…0B,其中1后面有n个0,数据之后用B表示二进制数;

③ 2n-1=11…1B,其中有n个1;

④ 2-n=0.00…01B,其中小数点之后有n-1个0;

⑤ 1-2-n=0.11…1B,其中小数点之后有n个1。

2)十六进制数的定义

N=kn16n+kn-116n-1+…+k1161+k0160+k-116-1+…+k-m16-m,ki∈{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}。数据之后用H表示十六进制数。

例如:AC7H=1010 1100 0111B=10×162+12×16+7=2759

2.十进制与二进制的互换

1)2的整幂加减拼凑法

若一个十进制数接近2n,采用2的整幂加减拼凑法转换为二进制数简明快捷。后面介绍的“除权商法”和“减权取1法”也可结合使用。例如:将十进制数135视为128(27)加7,则其结果为1后面有7个0的二进制数再加上111B,所以135=10000111B。将十进制数2034视为2047(211-1)减13,则其结果为有11个1的二进制数再减去1101B,所以2034=11111110010B。

2)除权取商法

用十六进制数第n位的权重16n去除十进制数,其商为十六进制数第n位上的数字;将其余数再用16n-1去除,所得商为十六进制数第n-1位上的数字;……;重复这样的运算步骤,直到容易看出某一步余数的二进制数为止。最后将每一次的商和最后一步的余数按权重拼成一个二进制数。

【例1.1.1】将十进制数78,915,3137分别化为二进制数。

解:① 因为78除以16商4余14,所以78=1001110B。

② 915÷162=3……147 → 11B……147,前者为商,后者为余数,以下同。

147÷16=9……3 → 1001B……0011B

所以915=1110010011B。

③ 3137÷162=12……65 → 1100B……1000001B,余数65的二进制数用口算得到。(www.xing528.com)

所以3137=110001000001B,注意二进制数1000001B前必须添一个0,使其达到8位,因为前段4位数字1100的权重为162(即28)。

3)减权取1法

对于较大的十进制数化为二进制数可采用“减权取1法”。该方法是:用十进制数减去小于该数的最大的2i,将其差再减去小于此差数的最大的2j,…,重复这样的运算步骤,直到容易看出某一步差数的二进制数为止。最后将2i、2j、…,以及最后这一步差数的二进制数按权重拼成一个二进制数。

【例1.1.2】将十进制数3145,10000化为二进制数。

4)二进制化为十进制——四位分段法

从二进制整数的最低位起,将二进制数视为十六进制数,即每4位分为一段,然后按十六进制数的权重展开求和。

【例1.1.3】将下列二进制数化为十进制数。

解:11010110B=13×16+6=214

110101.10111B=11010110111B/25=(6×162+11×16+7)/32=1719/32=53.71875

3.二进制应用举例

1)两个古典数学问题

(1)相传古代印度国王舍汗要褒奖国际象棋发明者达依尔,问他需要什么。达依尔回答说:“国王只要在国际象棋棋盘(8×8格)的第一格上放1粒小麦,第二格上放2粒小麦,第三格上放4粒小麦,第四格上放8粒小麦,按此规律一直放满整个棋盘,我心足矣。”国王居然答应了。

根据二进制数的定义,将棋盘上的小麦数用二进制数表示应为64个1,那么小麦总数为264-1粒。1 g小麦不足25粒,1 t小麦不足225粒。国王舍汗需要支付的小麦超过264/225=239吨,这是一个惊人的天文数字啊!

(2)《庄子·天下篇》:“一尺之棰,日取其半,万世不竭。”

根据二进制数的定义,将前n日所得用二进制数表示之,该数应为小数点之后有n个1,其总和为1-2-n。所以2–1+2–2+…+2n=0.11…1B<1总是成立的。

2)二进制与含权开关量

图1.1.2(a)是由8个开关和8个电容器组成的电路,图1.1.2(b)是由8个开关和8个电阻组成的电路。其中电容器的取值为Ci=2i×1 μF(i=0,1,…,7),电阻的取值为Rj=2j×10 Ω(j=0,1,…,7)。这是一种二进制含权电容或电阻电路,在图1.1.2(a)中,用“1”表示开关Ki处于ON状态,用“0”表示开关Ki处于OFF状态;在图1.1.2(b)中,用“1”表示开关Kj处于OFF状态,用“0”表示开关Kj处于ON状态。于是8个开关的每种组合状态对应于一个8位二进制数,所以电路取值为0~255之间的任一整数。

图1.1.2 含权电容、电阻电路

【例1.1.4】将电容CAB的值设置为168 μF,将电阻RAB的值设置为2500 Ω。

解:① 因为168=10101000B,所以在图1.1.2(a)所示的电路中,将开关K7,K5,K3闭合,其余5个开关断开。

② 因为250=11111010B,所以在图1.1.2(b)所示的电路中,将开关K2,K0闭合,其余6个开关断开。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈