将100位二进制转换成十六进制,要求说明解决方法

来源:百度知道 编辑:UC知道 时间:2024/06/04 04:26:01
0101000001101100011001010110000101110011011001010010000000101000011010010110011000100000011110010110111101110101001000000110100001100001011101100110010101101110001001110111010000100000011000010110110001110010011001010110000101100100011110010010100100100000011101010111000001100100011000010111010001100101001000000111100101101111011101010111001001110011001000000111010001101111011001000110000101111001001011000010000001100001011011100110010000100000011000010111010000100000011101000110100001100101001000000111011001100101011100100111100100100000011011000110000101110100011001010111001101110100001011000010000001100010011001010110011001101111011100100110010100100000011101000110100001100101001000000110010101101110011001000010000001101111011001100010000001110100011010000110100101110011001000000111011101100101011001010110101100101110000011010000101001010000011010010110001101110100011101010111001001100101011100110010000001101111011001100010000001111001011011110111010101110010001110100010000001100110

8位8位的划分
每一组
从最后一位向前推依次是2的0、1、2、3、4、5、6、7次幂
把处于相应位置的0或1与2的n次幂相乘
然后相加就好的

最后把各组排起来

4位为一组
0001=1
0002=2
……
1110=E
1111=F

把上面看成一个字符串,从后往前,每次截四位出来,把四位对应的植加在一起!
如:
1110 1111 1001 0001 =EF91
E F 9 1

用C语言编程可以算出来!原理很简单的!
具体程序麻烦,不想写,自己找人问吧!

由最后一位往前,每四位对应一位十六进制数值,不足四位的用0补齐

第一组数0011→1*1+1*2+0*4+0*8=1+2+0+0=3
即十六进制最后一位数值为3

第二组0111→7

第三组0101→9

第四组0110→12即C(十六进制取值范围为0、1、2、3.。。9、A、B、C、D、E、F。12对应字母C)

第五组1001→17→15+2→进1余2→2

第六组0110→C→C+1→D

第七组1100→24→15+9→进1余9→9

第八组0010→4→4+1→5

第九组1101→25→15+10→进1余10→A

第十组1000→16→15+1→进1余1→1

第十一组1101→25→15+10→进1余10→A

第十二组1110→28→15+13→进1余13→D

第十三组1101→25→15+10→进1余10→A

第十四组0000→0→0+1→1

第十五组1110→28→15+13→进1余13→D

第十六组0000→0→0+1→1

第十七组0100→8