进制间的相互转换

我们的电脑中存储的是二进制的值,同样php可以进行相应的转换,那么通过简单的方法告诉大家,本博客只是学习时候的笔记

十转其他(2,8,16

 

规则:十进制数,除以目标进制。会得到余数和商。如果商不为零,继续使用商除以目标进制,取得余数和商。直到商为零,此时将所有的余数,从下倒上连接即可:


$int = 1234;
//10 to 8
//    1234
//       8
//     154    2
//       8
//      19    2
//       8
//       2    3
//       8
//       0    2
//
//

其他(2,8,16)转十

规则:使用每个数位上的数,乘以当前进制的权重次幂,让结果累加即可。

权重,从低位开始为0,向高位依次+1;


10 to 16
//    1234
//      16
//      77    2
//      16
//       4    13(D)
//      16
//       0    4
//
//16 to 10
//权重:210
//      4D2
//4*16^2 + D*16^1 + 2*16^0
//=4*256 + 13*16 + 2*1
//=1024+208+2 = 1234
//
//8 to 10
//3210
//2322
//2*8^3 + 3*8^2 + 2*8^1 + 2*8^0

程序中的进制转换函数:

Dec,10

Bin,2

Oct,8

Hex,16

 

Decbin();10to2

Dechex();10 to 16

Octdec();8 to 10

例如:

函数的参数,期望的其实是字符串。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值