如何实现十进制转换为二进制
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进制,小数部分尚不能实现,希望大家不要见笑。
具体实现代码如下:
#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进制,小数部分尚不能实现,希望大家不要见笑。
相关文章推荐
- 如何用C语言实现十进制到二进制的转换并计算二进制中1的个数
- 实现二进制与十进制之间的相互转换
- 原码反码补码详解与十进制转换为二进制的各种实现
- ACCESS 如何进行二进制到六十二进制向十进制的转换?
- 代码实现十进制转换为二进制、十六进制(源码)
- C#中如何实现二进制、十进制、十六进制的互转
- 80x86汇编编程:实现十进制或十六进制向二进制的转换
- 用C#代码实现二进制与十进制的互相转换
- 用堆栈实现十进制转换为二进制
- 用C#代码实现二进制与十进制的互相转换
- 关于使用查表法实现十进制到二进制,八进制,十六进制的转换
- 如何在PB中进行位操作以及二进制与十进制转换(摘录)
- 利用栈实现二进制转换为十进制
- 如何在PB中进行位操作以及二进制与十进制转换(摘录)
- 从键盘输入某个十进制小数或整数,转换成对应的二进制小数并输出。 (查询十进制小数转换成二进制小数的算法,使用循环来实现。 最多保留小数位后7位数字即可)算法
- 使用bitset实现二进制和十进制的相互转换
- C语言实现十进制转换为二进制
- 数据结构5:利用栈实现二进制到十进制的转换
- 位运算实现十进制转换为二进制
- 用栈实现十进制到二进制的转换