进制转换(待续)

来源:互联网 发布:linux命令行 编辑:程序博客网 时间:2024/05/21 18:44
十进制转二进制:用2辗转相除至结果为1 将余数和最后的1从下向上倒序写 就是结果例如302302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 故二进制为100101110 二进制转十进制从最后一位开始算,依次列为第0、1、2...位第n位的数(0或1)乘以2的n次方得到的结果相加就是答案例如:01101011.转十进制: 第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方=0 1乘2的3次方=8  0乘2的4次方=0 1乘2的5次方=32 1乘2的6次方=64 0乘2的7次方=0 然后:1+2+0  +8+0+32+64+0=107. 二进制01101011=十进制107
16进制转10进制:像10进制数一样的说,把16进制数看成有个位数,十位数,百位数……将“个位数”乘上16的0次方(*16^0),将“十位数”乘上16的1次方(*16^1),将“百位数”乘上16的2次方(*16^2),…………最后将所有上面得到的数加起来就是他的十进制数了例如:将16进制的 (10A) 转换成10进制的数A*1=100*16=01*16^2=256所以所得的数为10+0+256=26610进制转16进制:这个有点麻烦……    将给定的十进制整数除以基数16,余数便是等值的16进制的最低位。     将上一步的商再除以基数16,余数便是等值的16进制数的次低位。     重复上一步骤,直到最后所得的商等于0为止。各次除得的余数,便是16进制各位的数,最后一次的余数是最高位例如:10进制的 (100) 变为16进制先把100除以16,得到6余数为4,则“个位数”为4;用6除以16,得到0余数为6,则“十位数”为6。所以100的16进制为“64”。依此类推。注:A=10  B=11  C=12  D=13 E=14  F=15
0 0