700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言短除法求二进制数 C语言中实现十进制转二进制输出

C语言短除法求二进制数 C语言中实现十进制转二进制输出

时间:2020-12-20 06:27:37

相关推荐

C语言短除法求二进制数 C语言中实现十进制转二进制输出

众所周知,C中以八进制,十进制和十六进制都可以通过%o,%d和%x轻松实现,然而唯独没有提供二进制输出的快速方式。

方法一:itoa函数

itoa函数将数值转换为字符串,通过规定转换进制实现。

#include#include//注意必须调用stdlib.h函数库

int main(void)

{

while(1)

{

int a;

printf("请输入一个十进制数: ");

scanf("%d",&a);

char str[30];

itoa(a,str,2);//2即是代表转换为2进制

printf("转换成二进制数是: %s\n\n",str);

}

return 0;

}

函数:itoa(integerto array)

功能:把一整数转换为字符串

用法:char *itoa(int value, char *string, int radix); 将int整型数转化为一个字符串,并将值保存在数组string中。

value: 待转化的整数。

radix:是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。

* string:保存转换后得到的字符串。

返回值:

char *:指向生成的字符串, 同*string。

头文件:"stdlib.h"

方法二:短除法

短除法,将十进制转换为二进制的笔算过程。

#includeint main()

{

int a,b,k,i;

int remainder[30];

while(1)

{

//定义了一个remainder数组,用来收集短除法除得的余数,栈倒序输出。

printf("请输入一个十进制数: ");

scanf("%d",&a);

k=0;

while(a!=0)

{

b=a/2;

k++;

remainder[k]=a-b*2;

a=a/2;

};

printf("转换成二进制数是: ");

for (i=k; i>=1; i--)

{

printf("%d",remainder[i]);

}

printf("\n\n");

}

return 0;

}

感谢博主:/wjkhello/article/details/78149441

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。