c语言编程如何实现-十进制数转换成二进制和输出

Posted 想游泳的鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言编程如何实现-十进制数转换成二进制和输出相关的知识,希望对你有一定的参考价值。


#include <iostream.h>

void divideData(const float number, int &integer, float &decimal); //分离出整数和小数部分.
void printBinaryForInteger(int &integer); //打印整数部分的二进制形式.
void printBinaryForDecimal(float &decimal); //打印小数部分的二进制形式.
int main()

float number;
int integer;
float decimal;

cout<<"Please input a decimal number for being converted: ";
cin>>number;
cout<<"/nThe binary number converted from your input "<<number<<" is: ";
divideData(number, integer, decimal);
printBinaryForInteger(integer);

if (integer==0) cout<<"0";
cout<<".";
printBinaryForDecimal(decimal);
cout<<endl;
return 1;

void divideData(const float number, int &integer, float &decimal)

integer = (int)number;
decimal = number - (float)integer;

void printBinaryForInteger(int &integer)

int k,a=0;
int b[32];
while (integer!=0)

k=integer%2;
b[a++]=k;
integer=integer/2;

while (a>0)

cout<<b[--a];


void printBinaryForDecimal(float &decimal)

int i=0;
int count=0;
int a[8]=0;
while (count<6) //小数部分取6位(也可用符号常量设置).

decimal*=2;
a[count++]=(int)decimal;
if (decimal>=1.0)
decimal-=1.0;

while (i<6)

cout<<a[i++];


//用于C编译器时略作修改;只考虑了输入数为正数. 

以上是关于c语言编程如何实现-十进制数转换成二进制和输出的主要内容,如果未能解决你的问题,请参考以下文章

用c语言编写函数,将输入的十进制数转换成十六进制数并输出

c语言 数制转换(递归)

c语言编程题,数制转换

c语言中如何将十六进制转换成2个字节输出

在C语言中如何将10进制转换成16进制?

C语言 字符串转数字 急急急