1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > c语言编程如何实现-十进制数转换成二进制和输出

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

时间:2022-10-13 07:26:27

相关推荐

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编译器时略作修改;只考虑了输入数为正数.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。