您的位置:

c语言实现10进制转2进制,c语言10进制转2进制代码

本文目录一览:

用C语言将10进制数字转化为2进制

利用C语言将10进制数字转化为2进制数字。

利用厂除法求余可将其转化;由于算出来的是倒序,可通过求出的第一个余数×1,第二个余数×10...在加起来便可倒回来。

1.求2进制的算法   2.如何将数字顺序倒回来。

C语言中十进制和二进制怎么转换

#include

#include

#include

using namespace std;

string zhuanhuan(int num,int base)

{

string digitChar="0123456789" ,numStr= "";

stackstk;

do{

stk.push(digitChar[num%base]);

num /= base;

}while(num!=0);

while(!stk.empty())

{

numStr += stk.top();

stk.pop();

}

return numStr;

}

int main()

{

int m , n;

cout "请输入要转换的数字:" ;

cin m;

cout "请输入要转换的进制:";

cin n;

cout "将" m "转换成" n "进制后为:" ;

cout zhuanhuan(m,n) endl;;

system("pause");

return 0;

}

以上代码能实现任意进制之间的转换!希望对你有帮助!!

如何将C语言十进制小数转化为二进制?

可以使用二乘取整法。

十进制数乘以10,小数点右移一位,3205.435*10=32054.35。

同理,二进制数乘以2,小数点右移一位,101101.1101*10=1011011.101(式子中都是二进制数)。

两个小数相同,表示法不同,但各自乘以2后,结果的整数部分和小数部分是相同的,基于此,十进制小数可用(小数部分)“2乘取整法”转换为二进制小数。

有限位数的十进制小数,转换成的二进制小数可能是无限位数的,这时可按要求的精度取有限位的结果即可,最后一位是其后面位“0舍1入”的结果。

C语言简介:

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

用c语言编写十进制转化二进制

#include stdio.h

void d2n(unsigned long d,int n)

{

  if(d=n)

  {

      d2n(d/n,n);

  }

  printf("%c","0123456789ABCDEF"[d%n]);

}

int main()

{

  unsigned long d;

  int n;

  scanf("%lu",d);

  d2n(d,2);

  return 0;

}

c语言十进制换二进制

第一:math.h头文件在这没用上,可删。

第二:tol从二进制高位开始累加,先加的是最左边的数,所以每次加完以后,所有二进制数都要要左移一位。

第三:tol+的是二进制数0或者1,而st字符串中每一位都是字符'0'或者'1',所以需要*st-'0'来把字符转换成数字。*st++为里循环取出每一个字符,++在后是先取值再加加.

所以*st++-'0';就相当于*st-'0';st++;这两句。

另外,你贴的代码二进制转十进制,不是十转二进制。

C语言中怎样调用函数将十进制转换成二进制?

1、打开visualC++6.0-文件-新建-文件-C++SourceFile。

2、输入预处理命令和主函数:

#includestdio.h           /*输入输出头文件*/

voidmain()/*空类型:主函数*/

3、定义变量和数组的数据类型并输入一个十进制:

intb[16],x,k,r,i;/*定义变量和数组的数据类型为整型*/

printf("输入一个十进制:");/*输出文字提示*/

  scanf("%d",x);         /*输入一个十进制数字*/

k=-1;/*将-1赋给k*/

4、用除R取余倒计法将十进制的数转化成二进制的数:

do/*用循环将十进制的数转化成二进制的数*/

{

r=x%2;/*用除R取余倒计法计算二进制*/

b[++k]=r;/*将值赋给数组*/

x/=2;/*将原数除2*/

  }while(x=1);

5、输出结果:

  for(i=k;i=0;i--)        /*将上面倒计的数正回来*/

printf("%d",b[i]);/*输出结果*/

printf("\n");

6、完整的源代码:

#includestdio.h           /*输入输出头文件*/

voidmain()/*空类型:主函数*/

{

intb[16],x,k,r,i;/*定义变量和数组的数据类型为整型*/

printf("输入一个十进制:");/*输出文字提示*/

  scanf("%d",x);         /*输入一个十进制数字*/

k=-1;/*将-1赋给k*/

do/*用循环将十进制的数转化成二进制的数*/

{

r=x%2;/*用除R取余倒计法计算二进制*/

b[++k]=r;/*将值赋给数组*/

x/=2;/*将原数除2*/

  }while(x=1);

  for(i=k;i=0;i--)        /*将上面倒计的数正回来*/

printf("%d",b[i]);/*输出结果*/

printf("\n");

}