将十进制数25.82分别转化为二进制,八进制,十六进制分别是多少

2025-02-06 13:06:22
推荐回答(2个)
回答1:

【请展开看分行的回答,否则看不明白】
对于16进制的87,先转换成十进制的数据
转10进制:写出16进制各位上的基数
16
1
从个位的1开始向左逐位写,每位都是右边位乘16,87是两位数则就写两位
8
7
然后将数据对齐写在下面
上述式子上下做乘法,结果再左右做加法=16*8+1*7=128+7=135
所以十六进制87转换成十进制数是135
对于十进制的135转换成2进制:先写出2进制各位上的基数
256
128
64
32
16
8
4
2
1从个位的1开始向左逐位写,每位都是右边位乘以2,写到>=135为止
0
1
0
0
0
0
1
1
1计算见下面说明
135/256=0余135=0[135]用135除以最高位得到余数和商,商写到256这位下面,下面用余数继续计算
135/128=1[7],在128位下面写1
7/64=0[7],7/32=0[7],7/16=0[7],7/8=0[7],7/4=1[3],3/2=1[1],1/1=1[0]
计算到余数是0为止,如果还有剩余位则都填0
则十六进制87或十进制135转换成二进制为10000111
对于十进制的135转换成8进制:先写出8进制各位上的基数(比转成2进制的只是每位乘以2换成乘以8的不同,其他的计算都一样)
512
64
8
1从个位的1开始向左逐位写,每位都是右边位乘以8,写到>=135为止
0
2
0
7计算见下面说明
135/512=0余135=0[135]用135除以最高位得到余数和商,商写到512这位下面,下面用余数继续计算
135/64=2[7],在64位下面写2,7/8=0[7],7/1=7[0]
计算到余数是0为止,如果还有剩余位则都填0
则十六进制87或十进制135转换成八进制为207

回答2:

将原始数据进行整数化:
(25.82)10*(2^16)10
=(25.82)10*(65536)10
=(1692139.52)10
>(1692140)10
//去掉小数,保留整数部分
=(19D1EC)16
=(0001
1001
1101
0001
1110
1100)2
=(000110011101000111101100)2
因为最初乘了65536,即2的16次方,所以换算成二进制时应右移16位,去掉前导零/后导零,
即(11001.100111010001111011)2
(11001.100111010001111011)2
=(011
001.100
111
010
001
111
011)2
=(31.472173)8
(11001.100111010001111011)2
=(19.D1EC)16