php 进制 小数,小数进制转换

二进制数与十进制数如何转换:

(1) 二进制数—→十进制数

对于较小的二进制数:

对于较大的二进制数:

方法1:各位上的数乘权求和??例如:

(101101)2=1×25+0×24+1×23+1×22+0×21+1×20=45

(1100.1101)2=1×23+1×22+0×21+0×20+1×2-1+1×2-2+0×2-3+1×2-4=12.8125

方法2:任何一个二进制数可转化成若干个100…0?的数相加的总和??例如:

(101101)2=(100000)2+(1000)2+(100)2+(1)2

而这种100…00形式的二进制数与十进制数有如下关联:1后有n个0,则这个二进数所对应的十进制数为2n。

所以:(101101)2=(100000)2+(1000)2+(100)2+(1)2=25+23+22+20=45

十进制45.8375转换为八进制 (转换为二进制类似)

整数部分除8取余数:

45/8=5--5

5/8=0---5

整数部分为55(注意倒过来)

小数部分乘8取整:

0.8375*8=6.7--6

0.7*8=5.6-----5

0.6*8=4.8-----4

0.8*8=6.4-----6

0.4*8=3.2-----3

0.2*8=1.6-----1

0.6*8=4.8-----4

小数部分是循环小数:0.65463146314631...........

合起来就是55.65463146314631...........

整数部分除以8取余数作为个位,再对商除以8取余数作为十位,...

小数部分乘以8取整数部分作为十分位,在将剩下的小数部分乘以8作为百分位,...

如 17.625

19 % 8 = 3

2 % 8 = 2

整数部分得23

0.625 * 8 = 5

小数部分为0.5

所以最终结果为23.5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值