c语言二进制代码
发布时间: 2025-07-13 10:27:28
1. c语言 将十进制数转化为二进制数 程序代码
#include <stdio.h>
void main()
{
int a;
scanf(\"%d\",&a);//输入一个10进制数。
int result=0;//存储a的二进制结果。
int p=1;//p=1表示个位数
do
{
int b=a%2;//b是余数,第一个余数是二进制的个位。
result=result+p*b;
p=p*10;//*10表示下个是10位数。
a=a/2;
}while(a);
printf(\"\\n%d\\n\",result);
}
程序在vc6.0下编译通过可以直接用,你自己看看吧,思路是a%2的结果是二进制的个位数,(a/2)%2的结果是二进制的十位数所以p扩大10倍,以后依次类推。
2. c语言如何将输入的数表示成二进制,并统计其中1的个数
用我们平时十进制转换二进制的算法,即短除法。
例如:x&(x-1) 当x=5时, 5的二进制是0101
0101 & (0101-1) == 0101 & 0100 == 0100
0100 & (0100-1) == 0100 & 0011 == 0000
一共计算了两次,也就是说5的二进制数一共只有2个1.
下面是代码实现:
热点内容