c语言编程如何实现-十进制数转换成二进制和输出
2007-10-17 10:37
1476 查看
#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编译器时略作修改;只考虑了输入数为正数.
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编译器时略作修改;只考虑了输入数为正数.
相关文章推荐
- 134 编程实现:把十进制数(long 型)分别以二进制和十六进制形式输出,不能使用 printf系列
- 将一个十进制数转换成二进制输出--递归实现
- 如何用C语言实现十进制到二进制的转换并计算二进制中1的个数
- 怎样用C语言实现一个十进制数向R进制变换并输出(数据结构)
- 用c语言实现输入一个十进制数,计算其转换为二进制数后其中包含1的个数
- 用C语言如何编程实现从三个数组中各抽取几个数进行组合的问题?
- C语言模块化编程中如何隐藏结构实现细节
- 用C语言代码实现n进制数转换为十进制数
- ACM入门------C语言中如何实现多组数据输入输出
- 1.写一个函数返回参数二进制中1的个数2.获取一个数二进制序列中所有的偶数为和奇数位,分别输出二进序列3.输出一个整数的每一位4.编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(b
- 如何在matlab里编程实现bmp到pgm格式的转换
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- Java中实现十进制数转换为二进制的几种办法
- 二进制转换为C语言数组-Python实现
- 十进制数,顺序、逆序输出每位数字;(C语言实现)
- 如何用c语言寻找十进制数二进制的奇数位.偶数位.任意位
- C语言实现十进制转换为二进制
- 将一个十进制数转换为二进制输出
- 1.编程实现: 两个int(32位)整数m和n的二进制表达中, 有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7
- C语言从键盘输入一个十进制数将其转换为任意进制数输出