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

来源:互联网 发布:死神镰刀1.5米淘宝 编辑:程序博客网 时间:2024/05/17 01:28

      作为学习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进制,小数部分尚不能实现,希望大家不要见笑。


原创粉丝点击