如何将计算机十进制数转换为二进制和十六进制数?
发布网友
发布时间:2022-04-22 11:12
我来回答
共2个回答
热心网友
时间:2023-09-25 08:08
1。二进制与十进制数间的转换
(1)二进制转换为十进制
将每个二进制数按权展开后求和即可。请看例题:
把二进制数(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10
(2)十进制转换为二进制
一般需要将十进制数的整数部分与小数部分分开处理。
整数部分计算方法:除2取余法请看例题:
十进制数(53)10的二进制值为(110101)2
小数部分计算方法:乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。请看例题:
将(0.5125)10转换成二进制。(0.5125)10=(0.101)2
2。八进制、十六进制与十六进制间的转换
八进制、十六进制与十六进制之间的转换方法与二进制,同十进制之间的转换方法类似。例如:
(73)8=7*81+3=(59)10
(0.56)8=5*8-1+6*8-2=(0.71875)10
(12A)16=1*162+2*161+A*160=(298)10
(0.3C8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10
十进制整数→→→→→八进制方法:“除8取余”
十进制整数→→→→→十六进制方法:“除16取余”例如:
(171)10=(253)8
(2653)10=(A5D)16
十进制小数→→→→→八进制小数方法:“乘8取整”
十进制小数→→→→→十六进制小数方法:“乘16取整”例如:
(0。71875)10=(0.56)8
(0.142578125)10=(0.3C8)16
3.非十进制数之间的转换
(1)二进制数与八进制数之间的转换
转换方法是:以小数点为界,分别向左右每三位二进制数合成一位八进制数,或每一位八进制数展成三位二进制数,不足三位者补0。例如:
(423。45)8=(100010011.100101)2
(1001001.1101)2=(001001001.110100)2=(111.64)8
2。二进制与十六进制转换
转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0。例如:
(ABCD。EF)16=(1010101111001101.11101111)2
(101101101001011.01101)2=(0101101101001011.01101000)2=(5B4B。68)16
热心网友
时间:2023-09-25 08:08
关键能写出每个进制的各位上的基数(只需要记住一个1即可)。十进制最熟悉,用十进制来记:2017四位数每位的基数是1000,100,10,1。规律:个位是1,高位=低位*10
每个进制的个位上的基数都是1,高位=低位*进制数
这样写出了n进制的基数后,就可以轻松地与十进制进行相互转换了。举例说明:
十进制17转3进制
写出三进制每位上的基数,写到比17大为止:27 9 3 1,用这组数将17凑出来:
17=1*9+2*3+2*1,看到了吗,转换结果是122,其他进制的计算除了基数不同以外,方法相同。
八进制74转十进制:74o=?D。写出八进制每位上基数,由于74是两位数,写两位基数即可:8 1,用相应位上的数与相应位上的基数相乘:7*8+4*1=56+4=60,所以74o=60D
在编程中经常用八进制和十六进制表示数据,但它们与二进制有一定的对应关系:八进制每位相当于二进制3位,十六进制每位相当于二进制4位,因此经常简单地通过二进制中间来进行八-十六进制互相转换。57o=?H
57o=[5][7]o=[101][111]B=101111B=[0010][1111]B=[2][f]H=2fH