文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档> 进制转换 十 八 二

进制转换 十 八 二

时间:2010-03-10  来源:bfz814

非十进制转换为十进制:

1.数值按权展开:

规律如下(比较简单):

136.1=1*10E2+3*10E1+6*10E0+1*10E-1

101.01B=1*2E2+0*2E1+1*2E0+0*2E-1 +1*2E-2

2cH=2*16E1+c*16E0=44

//B表示2进制,H表示16进制

 //E科学记数 即次方后接次方数 16E1 就是 16的1次方

 

十进制转换为二进制

1除二取余(整数部分),乘二取整(小数部分)

除二取余:把十进制整数除以2得到商和余数,在将所得到的商除以2,又得到新的商和余数,这样不断的用二去除商,直到商为0为止.

每次除的的余数便是相应的二进制数码.最先得到的是最的有效位,最后得到的是最高有效位.

如:11的二进制

11/2=5--1

5/2=2--1

2/2=1--0

1/2=0--1

//是整除,即二进制位 1011(从后面开始往上读,高位低位的问题)

乘二取整:

对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分.

如此不断重复,直到小数部分为0或达到精度要求为止.第一次所得到为最高位,最后一次得到为最低位

如:0.25的二进制

0.25*2=0.5

0.5*2=1

即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位)

十进制转八进制和十六进制

方法和转二进制相同,也可以用这种方法转换到其他进制.

如 90.875 转换到16进制

90/16=5--10

5/16=0--5

整数部分就是 5A(10进制的10 对16进制的A)

0.875*16=14

小数部分就是 E(10进制的14 对16进制的E)

其他进制间的互相转换

用二进制数编码,存在这样一个规律:n位二进制数最多能表示2的n次方种状态.因此,诺用一组二进制数表示具有十六种状态的十六进制数,至少要4位(16=2的4次方).同样八位要 3位.

如:将111101010011.10111B转换为16进制

从小数点开始,分别向左右4位一组划分,不足4位的补0,然后将每组4位的二进制数以1位的十六进制数取代即可.

1111 0101 0011 . 1011 1000

2 A F . C 5 (二进制对应的16进制数)

其他进制间的转换一样的方法..自己把握要点.

上面列举的方法是我觉得比较简单的方法,关于其他一些方法请自行参考相关书籍.如有错误请指正.

相关阅读 更多 +
排行榜 更多 +
龙珠格斗火柴人

龙珠格斗火柴人

飞行射击 下载
荒野恐龙猎手安卓版

荒野恐龙猎手安卓版

飞行射击 下载
超凡坦克英雄

超凡坦克英雄

飞行射击 下载