将10进制转化成2进制数谢谢

发布网友 发布时间:2022-04-21 08:46

我来回答

3个回答

热心网友 时间:2023-11-08 07:22

下面一个程序是我编写的10进制到任意进制的转换,宏UnitVal表示多少进制,二进制用2,。
#include <condefs.h>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

#define UnitVal 2

char *Reverse(char *s)
{
char sBuf[1024],*p;
int nLoop;
strcpy(sBuf,s);

for( nLoop=0,p = sBuf+strlen(sBuf)-1;p>=sBuf;p--,nLoop++)
{
s[nLoop] = *p;
}
s[nLoop+1]='\0';
return s;
}
char *IntToBinStr(int n,char *s12Buf)
{
int nDiv,nMod;

nDiv = n /UnitVal,nMod = n%UnitVal;

if(nMod<10)*s12Buf = '0'+nMod;
else *s12Buf = 'A'+nMod-10;
*(s12Buf+1) = 0;
if(nDiv)IntToBinStr(nDiv, s12Buf+1);

return s12Buf;
}

int main(int argc, char* argv[])
{
int n=0;
char s[100];

while(n!=-255)
{
printf("Input number:");
n = atoi(gets(s));

printf("%d的%d进制值为:%s\n",n,UnitVal,Reverse(IntToBinStr(n,s)));
}
system("pause");
}

热心网友 时间:2023-11-08 07:22

#include<stdio.h>
void fun(int i)
{
if(i/2==0) printf("%d",i);
else
{
fun(i/2);
printf("%d",i%2);
}
}
void main()
{
int d=100;
fun(d); //将十进制100转变为二进制。
}

热心网友 时间:2023-11-08 07:22

整数部分除二取余小数部分乘二取整。如10=1010B

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com