C语言 将十进制数转化为二进制数 程序代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 将十进制数转化为二进制数 程序代码相关的知识,希望对你有一定的参考价值。
简单的最好,目前只学过数组和简单的语句,刚入门不久
#include <stdio.h>void main()
int a;
scanf(\"%d\",&a);//输入一个10进制数。
int result=0;//存储a的二进制结果。
int p=1;//p=1表示个位数
do
int b=a%2;//b是余数,第一个余数是二进制的个位。
result=result+p*b;
p=p*10;//*10表示下个是10位数。
a=a/2;
while(a);
printf(\"\\n%d\\n\",result);
程序在vc6.0下编译通过可以直接用,你自己看看吧,思路是a%2的结果是二进制的个位数,(a/2)%2的结果是二进制的十位数所以p扩大10倍,以后依次类推。 参考技术A main()
int i=0,m=-1,j,k,num;
int a[100];
printf("input a number:\n");
scanf("%d",&num);
while(num!=0)
j=num%2;k=num/2;
a[i]=j;num=k;
m++;i++;
for(;m>=0;m--)
printf("%d",a[m]);
初学,共同进步
(C++)除基取余法:将十进制数转化为Q进制数
所谓基,就是指将要转换成的进制Q。
除基取余的意思就是:每次将待转换数除以Q,然后将得到的余数作为低位存储,而商则继续除以Q并重复上面的操作,直至商0时,将所有位从高到低输出就可以得到Q进制数。
代码实现如下
输入:十进制数x以及进制Q
输出:Q进制数y
#include<cstdio>
int main(){
int x,y[20]={0},Q;
scanf("%d %d",&x,&Q);
// 100 -> 8:100%8 = 4 100/8 = 12 12%8 = 4 12/8 = 1 1%8 = 1 144 = 1*64+4*8+4*1 = 100
int idx = 0;
do{
y[idx++]=x%Q;
x/=Q;
}while(x!=0);
for(int i=idx-1;i>=0;i--){
printf("%d",y[i]);
}
return 0;
}
示例
以上是关于C语言 将十进制数转化为二进制数 程序代码的主要内容,如果未能解决你的问题,请参考以下文章
用C语言将16进制数转化为10进制数 16进制数以字符串形式输入 最好运用数组 谢谢