php实现 求int型数据在内存中存储时1的个数(函数都可自己实现)
一、总结
一句话总结:函数我们自己都可以实现,尤其是很多基础函数,没有工具的时候自己写。
1、php进制转换函数?
base_convert进制转换函数
5 $bin = base_convert($dec, 10, 2);;
2、php十进制转化成2进制函数?
dexbin,dex为10,bin,也很好记
3 $bin = decbin($input);
3、php统计一个字符串中某字符出现的次数?
substr_count()
6 echo substr_count($bin, "1").PHP_EOL;
二、求int型数据在内存中存储时1的个数
题目描述
代码:
<?php
$input = intval(trim(fgets(STDIN)));
$output = 0;
while(0 < $input){
if(1 == $input%2)
$output++;
$input = floor($input/2);
}
echo $output;
<?php
$dec = "";
$bin = "";
fscanf(STDIN, "%s", $dec);
$bin = base_convert($dec, 10, 2);;
echo substr_count($bin, "1").PHP_EOL;
<?php
$input = trim(fgets(STDIN));
$bin = decbin($input);
echo substr_count($bin, '1');
decbin — 十进制转换为二进制
string decbin ( int $number
)