计算:进制转换

来源:百度知道 编辑:UC知道 时间:2024/06/04 16:05:17
1.将下列十进制转数换成二进制数
(1)51 (2)67 (3)41.75 (4)6.625
2.将下来二进制数转换成十六进制
(1)11111010(2)10101010(3)11100110(4)0.0101
3.已知补码,求真值
(1)01100110(2)11001011(3)01011011(4)1011001
讲解一下方法 谢谢!
把答案给出来 谢谢!

1. 51=(110011)B 67=(1000011)B 41.75=(101001.11)B 6.625=(110.101)B
对于十进制转二进制,整数部分的方法为“除2取余”。例如上面51的计算过程如下:
51/2取余数1 25/2取余数1 12/2取余数0 6/2取余数0 3/2取余数1 1/2取余数1.直到结果为0,结束。 第1次得到的为最低位,最后一次得到的为最高位。所以为110011
对于小数部分,方法是“乘2取整”。如上面的41.75。整数部分的方法如上,下面我们计算小数部分:0.75.
0.75*2 取整数1. 此时变成1.5 这时候仍然让小数部分“乘2取整“,也就是0.5*2 取整数1. 此时结果为0,计算结束。 第1次得到的为最高位,最后一次得到的为最低位。所以(0.75)=(0.11)B

2. (11111010)B=(FA)H (10101010)B=(AA)H (11100110)B=(E6)H (0.0101)B=(0.5)H
对于二进制转十六进制,其实很简单。
先说整数部分的,从低位开始每4位分割1份,然后计算它的16进制数。比如上面的11111010.分成1111和1010。对于1111,它的16进制数是F,对于1010,它的16进制数是A.(这个你练的多了,一眼就能看出来的)。
对于小数部分,是从高位开始每4位分割,对于剩下的不足4位的,补0.
比如上面的0.0101,0101的16进制数是5.所以(0.0101)B=(0.5)H.我再举个例子,
0.010111怎么算?发现分割的时候少2位,补2位0即可。(0.010111)B=(0.0101 1100)B=(0.5C)H

3. (1)102 (2)-53 (3)91 (4)89
对于补码求真值的。先看最高位,0代表正数,1代表负数。
正数的好算,就是求二进制数转换成十进制数。
比如第一题,高位是0,说明是正数。计算它的十进制数。
(01100110)B=1*2的6次幂+1*2的5次幂+1*2的2次幂+1*2的1次幂=102
负数的计算规则是除去高位的1,其他位数“按位取反再+1”