您的位置:首页 > 编程语言 > C语言/C++

如何实现十进制转换为二进制

2013-11-23 19:24 288 查看
      作为学习C语言的过来人,以前在学习的时候发现虽然有很多关于10进制转化为二进制的算法,但是感觉晦涩难懂,不利于初学者的学习,为了方便初学者我特意把我的感想给大家分享一下,希望大家多都支持,如果有某些地方不够完美或者错误的地方希望大家多多指教。

     具体实现代码如下:

#include<stdio.h>

int main()
{
int num;
int str[16]={0};
int t=0;
int*p;
p=str;

printf("请输入要转换的正整数:\n");
while(scanf("%d",&num)==1)
{
do
{
*p=num%2;
p++;
t++;
num=num/2;
}while(num!=0);

printf("转换后的二进制数字为:\n");

for(;t>=0;t--)
{
printf("%d",*p);
p--;
}

printf("\n");
}

return 0;
}

     
在这个小程序里,我们定义了一个变量t用来记录转换为二进制的数有多少位,然后通过指针p的当前位置开始执行输出由于10进制整数转换为二进制是除于2的余数的顺序和二进制的高低位顺序相反,所以我们从p的当前位置执行p--;另外这个小程序目前只能实现整型的10进制,小数部分尚不能实现,希望大家不要见笑。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息