首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

C语言如何写十进制转二进制的程序

发布网友 发布时间:2022-04-21 03:34

我来回答

4个回答

热心网友 时间:2022-06-17 18:41

unsigned int b2i(char *buf, int len) //函数参数:buf描述了二进制数据的数组,len数组长度

{
int i, j, k, ret;

if(len > 4) return; //数组长度*
k = 0; //访问位数计数器
ret = 0; //返回值

for(i = len-1; i >= 0; i--)
{

for(j = 0; j < 8; j++)
{

if( ( *(buf + i) >> j) & 1 == 1) //判断当前位是否为1
ret += power(2, k); //加上2的K次幂

}
k += 1;

}
return ret;

}
//大概这样,power函数要包含math.h文件,你看看原型对不对

热心网友 时间:2022-06-17 18:41

#include <stdio.h>
void trans(int x)
{
int a[30];
int i=0,rem;
do{
rem=x%2;x=x/2;
a[i]=rem;
i++;
}while(x!=0);
while(i>0)
printf("%d",a[--i]);
printf("\n");
}
void main()
{
int d;
printf("请输入一个十进制的正整数:\n");
do scanf("%d",&d);while(d<0);
trans(d);
}

热心网友 时间:2022-06-17 18:42

二进制没有直接表示的类型,一般都是直接设成整型。
如果要用的话,可以直接设成十六进制的,前面加0x,而且,十进制的数也可以直接用,不需要转换。

热心网友 时间:2022-06-17 18:42

....用栈可以简单。。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com