Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
504 views
in Technique[技术] by (71.8m points)

如何用php判断一个二进制数中,哪些位是0 而 哪些是1?

已知一个二进制数(数位可能有600位左右),例如
$a= 100010010;
需要通过php判断出(从右往左)的 第0 第2 第3 第5 第6 第7位是0
从而得到
$ar0=array(0,2,3,5,6,7);
$ar1=array(1,4,8);

应该如何实现呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
$binary = ".....";
$binary = str_split($binary);

// 0
$a0 = array_keys(array_filter($binary, function ($bit) {
    return !$bit;
}));

// 1
$a1 = array_keys(array_filter($binary));

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...