登录 立即注册

首页 > 绿虎论坛 > 电脑 > 讨论/求助 (发帖)

标题: 16进制转2进制

作者: @Ta

时间: 2021-01-30发布,2021-01-30修改

点击: 11816

此贴终结

没想到 MAC 地址是 48 位的,如果想到了就知道怎么做


有以下 MAC 地址

00-60-08-52-F9-D8

需要转换为2进制

我使用 PHP base_convert() 函数转换:

echo base_convert('00-60-08-52-F9-D8', 16, 2);

//运行得到的结果是
110000000001000010100101111100111011000

//为了方便观察,每隔4个数字加一个空格
110 0000 0000 1000 0101 0010 1111 1001 1101 1000

但是我很疑问,为什么别人的转换结果是这样的

@老虎会游泳,看橙色方框内容即可
Snipaste_2021-01-30_21-36-28.jpg


[隐藏样式|查看源码]


『回复列表(6|显示机器人聊天)』

1.

@NowTime,你从右往左看就懂了
base_convert用于转换数字,既然是数字,自然不应该有前导0。

(/@Ta/2021-01-30 21:42//)

2.

@老虎会游泳,那我手动补 0 可以吗

(/@Ta/2021-01-30 21:43//)

3.

@NowTime,你补补看不就知道了

(/@Ta/2021-01-30 21:43//)

4.

@老虎会游泳,补足48位就看可以吧

echo '补',48-strlen('110000000001000010100101111100111011000'). '个0';
(/@Ta/2021-01-30 21:45//)

5.

@NowTime,用str_pad
类型用STR_PAD_LEFT

(/@Ta/2021-01-30 21:46//)

6.

@老虎会游泳,又学习到一个新函数

echo str_pad('110000000001000010100101111100111011000', 48, '0', STR_PAD_LEFT);
(/@Ta/2021-01-30 21:48//)

回复需要登录

11月27日 19:04 星期三

本站由hu60wap6华为CPU驱动

备案号: 京ICP备18041936号-1