我是靠谱客的博主 开朗大神,最近开发中收集的这篇文章主要介绍计数二进制中1的位数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题:从键盘上输入一个二进制数,统计其中1的位数并输出统计结果

C++实现过程中的关键:从键盘上得到的数据依变量类型存储为相应的类型,如果将输入类型定义为整型,则在读取中只会按十进制形式进行存储,如输入二进制数100111001_2,读取到十进制变量中将变成100111001_{10}所以用整型变量存储回使数据信息改变,在C++中,可以用字符串存储,定义一个string对象,用字符的方式处理。

字符'0'和'1'对应的ASCII码对应为48和49,可用48和49判断字符串中的0和1。

 

C++

#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
int count=0;
cout<<"输入一个二进制数"<<endl;
cin>>str;
for(auto &i:str)
{
cout<<i<<endl;
if(i<=49 || i>=48)
continue;
else
cout<<"这不是二进制数"<<endl;
}
cout<<"这是二进制数"<<endl;
for(auto &i:str)
{
if(i==49)
count+=1;
}
cout<<"The number of count one is : "<<count<<endl;
return 0;
}

python

count=0
flag=1
print("输入一个二进制数:")
while(1):
String=str(input())
for i in String:
if (i!='0' and i!='1'):
flag=0
if(flag):
for i in String:
if i=='1':
#++count
在python中,++i就是正正得正,不做自增运算
count+=1
#python支持+=,**=,/=等复合运算符
print("这个二进制数中共有{0}个1".format(count))
break
else:
print("程序:我不处理这个数据,你的类型错了,请重新输入:")

 

最后

以上就是开朗大神为你收集整理的计数二进制中1的位数的全部内容,希望文章能够帮你解决计数二进制中1的位数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部