php实现 求int型数据在内存中存储时1的个数(函数都可自己实现)

本文介绍了如何使用PHP来计算一个int型数据在内存中存储时二进制表示中1的个数。文章提供了三种不同的实现方法,并详细解释了每一步的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的个数

题目描述

输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。

输入描述:

 输入一个整数(int类型)

输出描述:

 这个数转换成2进制后,输出1的个数

示例1

输入

复制
5

输出

复制
2

 

代码:

1 <?php
2   $input = intval(trim(fgets(STDIN)));
3   $output = 0;
4   while(0 < $input){
5       if(1 == $input%2)
6           $output++;
7       $input = floor($input/2);
8   }
9   echo $output;

 

1 <?php
2 $dec = "";
3 $bin = "";
4 fscanf(STDIN, "%s", $dec);
5 $bin = base_convert($dec, 10, 2);;
6 echo substr_count($bin, "1").PHP_EOL;

 

1 <?php
2     $input = trim(fgets(STDIN));
3     $bin = decbin($input);
4     echo substr_count($bin, '1');

 

decbin — 十进制转换为二进制

string decbin ( int $number )

 

 

 

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/9211656.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值