叙述十进制浮点数的整数部分和小数部分转换成二进制的方法

作者&投稿:卞非 (若有异议请与网页底部的电邮联系)
求一个用C语言编写的十进制转换成二进制的程序,整数部分和小数部分都要实现了。真的很急!~

#include "stdio.h"
#define DataLone int

int main()
{
DataLone Two[sizeof(DataLone)];
DataLone Bit;
DataLone temp=1;
int i;
DataLone Ten;
Bit=sizeof(DataLone)*8;
printf("请输入一个十进制数:");
scanf("%d",&Ten);
if(Ten==0)
{
for(i=0;i<Bit;i++)
{
printf("0");
}
}
else
{
for(i=0;i<Bit;i++,temp=temp<<1)
{
if((Ten&temp)!=0)
{
Two[Bit-1-i]=1;
}
else Two[Bit-1-i]=0;
}
for(i=0;i<Bit;i++)
{
printf("%d",Two[i]);
}
}
printf("
");
return 0;
}


我这程序的特点是,在任何编译器都适用,还有,只要把#define DataLone int 中的int换成别的类型,如long,char,就可以伸缩二进制输出的长短.希望楼主喜欢.

小数部分计算方法:

乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,直到满足你的精确度为止。

0.874的转换过程(取精度为6位):

0.874*2=1.748 小数点左边为 1
0.748*2=1.496 小数点左边为 1
0.496*2=0.992 小数点左边为 0
0.992*2=1.984 小数点左边为 1
0.984*2=1.968 小数点左边为 1
0.968*2=1.936 小数点左边为 1

十进制:123.874 二进制:1111011.110111

十进制的整数部分转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
十进制小数部分转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。
例如302.625
先算整数部分302
302/2 = 151 余0
151/2 = 75 余1
75/2 = 37 余1
37/2 = 18 余1
18/2 = 9 余0
9/2 = 4 余1
4/2 = 2 余0
2/2 = 1 余0
故二进制为100101110
再算小数部分0.625
0.625
X 2
1.25 取1
X 2
0.5 取0
X 2
1.0 取1
故二进制为0.101
最后,将整数部分和小数部分合起来写,即302.625转换成二进制数为100101110.101


叙述十进制浮点数的整数部分和小数部分转换成二进制的方法
十进制的整数部分转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。十进制小...

计算机中浮点数的表示
可以看到二进制小数是无法准确表示浮点数的,所以就有了精度一说.单精度浮点数用32位二进制表示如下:双精度浮点数用64位二进制表示如下:由上可知,单精度浮点数精度为 pow(2,23) = 8388608 = 0.8388608 x pow(10,7)所以单精度浮点数对应的10进制精度为 7 位多 双精度浮点数精度为 pow(...

c语言中% f表示什么,% d呢?
c语言中%f表示:十进制浮点数,4是指定的位数;d是表示10进制数字;+,-只是表示位数小于4位时左边补空格还是右过补空格,类似的还有:1、%c:单个字符 2、%d:十进制整数(int)3、%ld:十进制整数(long)4、%lf:十进制浮点数(double)5、%o:八进制数 6、%s:字符串(char)7、%u:无符号十进...

1.求十进制数,178.125的lEEE754标准的32位浮点表示 ​
符号位(1 位)+ 指数位(8 位)+ 尾数位(23 位)其中,符号位表示数的正负,指数位表示数的数量级大小,尾数位表示数的精度。对于给定的十进制数 178.125,可以按照以下步骤将其转换为 IEEE 754 标准的 32 位浮点表示:1. 将该数转换为二进制数。整数部分:178 ÷ 2 = 89 … 0 89 ÷ ...

浮点数正确表示形式举例
一个浮点数,由三部分组成:S、E 和 M,它们都是二进制数。使用浮点数格式来计算和保存数字,是有误差的。例如,32 位的浮点数,只能准确表示 7 位十进制数。在一些要求严格的场合,就不可使用浮点数。比如你把 +98765.4321 万元,用浮点数存到计算机中,再显示出来,就只剩下 +9.876543 × ...

将十进制数17.296875转换成IEEE754格式的32浮点数的二进制存储
十进制浮点数,整数部分转换成二进制,采用除2取余法,将余数从低到高排列,即为整数的二进制数;小数部分转换成二进制,采用乘2取整法,将取整数顺序排列,即为小数的二进制数。小数部分乘2直到小数部分为0,或取到想要的位数,或循环出现前。一、整数部分 20\/2=10...0 10\/2=5...0 5\/2=2...

c语言中%f表示什么意思
c语言中%f表示:十进制浮点数,类似的还有:1、%c:单个字符 2、%d:十进制整数(int)3、%ld:十进制整数(long)4、%lf:十进制浮点数(double)5、%o:八进制数 6、%s:字符串(char)7、%u:无符号十进制数(DWORD)8、%x:十六进制数(0x00000)...

浮点数什么意思?
简单说浮点数是指能够精确到小数点以后的数值类型 问题二:C语言中说的浮点型是什么意思呢 浮点型变量即为实型变量,代表实数;区别于代表整数的整形变量。问题三:浮点数是啥 实型也称为浮点型。实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有二种形式:十进制小数形式,指数...

十进制浮点数 .123 是什么意思
例如,一个指数范围为±4的4位十进制浮点数可以用来表示43210,4.321或0.0004321,但是没有足够的精度来表示432.123和43212.3(必须近似为432.1和43210)。当然,实际使用的位数通常远大于4。此外,浮点数表示法通常还包括一些特别的数值:+∞和−∞(正负无穷大)以及NaN('Not a Number')...

怎样把十进制表示成浮点规范化数?
=(1. 0001 0101 0101 1100 0101 00)二进制 ×26 =(0 10000101 00010101010111000101000)单精度浮点数 注意:如果只有小数部分,那么需要右移小数点. 比如右移3位才能放到第一个1的后面, 阶码就是127-3=124.补充:浮点二进制数手工转换成十进制数的例子:假设浮点二进制数是 1011 1101 01...

九寨沟县17783617086: 叙述十进制浮点数的整数部分和小数部分转换成二进制的方法 -
淡赖小儿: 十进制的整数部分转换为二进制整数采用"除2取余,逆序排列"法.具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位...

九寨沟县17783617086: 计算机里面的浮点数和小数有什么区别 -
淡赖小儿: 根据十进制的位值原则,把十进分数仿照整数的写法写成不带分母的形式,这样的数叫做小数.小数中的圆点叫做小数点,它是一个小数的整数部分和小数部分的分界号,小数点左边的部分是整数部分,小数点右边的部分是小数部分.整数部分是...

九寨沟县17783617086: 整数和浮点数的区别是什么? -
淡赖小儿: 整数是指正整数、 浮点数是指带有有限位小数的有理数,如-10.8、0.00、25.01 等. 整数既可以是整数,也可以是浮点数,例如255 是整数,而255.0 则是浮点数. 整数运算,得到的结果是一个整数,并且计算结果中的小数部分将被忽略.例如:用整数运算时,100÷3=33. 浮点运算,得到的结果是一个浮点数,计算结果中的小数部分将保留下来.

九寨沟县17783617086: 小数是由两部分组成,分别是整数部分和小数部分.___(判断对错) -
淡赖小儿:[答案] 小数是由三部分组成,分别是整数部分、小数点和小数部分; 故答案为;*.

九寨沟县17783617086: 将121.8125十进制数转化为二进制数?要求写出整数部分和小数部分的计算过程如何做 -
淡赖小儿: 整数部分和小数部分一般分开进行计算. 121除以2余1,所以第1位为1,商60 60除以2余0,所以第2位为0,商30 30除以2余0,所以第3位为0,商15 15除以2余1,所以第4位为1,商7 7除以2余1,所以第5位为1,商3 3除以2余1,所以第6位为...

九寨沟县17783617086: 计算机定点小数,定点整数,浮点数, -
淡赖小儿: 定点小数,是指小数点准确固定在数据某个位置上的小数,从实用角度看,都把小数点固定在最高数据位的左边,小数点前边再设一位符号位. 若阶码J=0,尾数S为纯整数,此时,小数点固定在数的最低位之后,则称其为定点整数. 浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数.

九寨沟县17783617086: 什么是十进制小数? -
淡赖小儿: 十进制小数,或者简称小数,在日常生活中随处可见.一朝学会,我们就会本能地意识到0.5就是一半,0.25就是所谓的一刻,0.1就是一分,也许0.01就是一厘.这里我们所做的一切就是用跟整数那套一模一样的系统来表示小数.小数,是实数...

九寨沟县17783617086: 如何转换浮点数的二进制格式为十进制 -
淡赖小儿: 二进制的小数转换为十进制主要是乘以2的负次方,从小数点后开始,依次乘以2的负一次方,2的负二次方,2的负三次方等. 例如:二进制数0.001转换为十进制. 第一位为0,则0*1/2,即0乘以2负一次方. 第二位为0,则0*1/4,即0乘以...

九寨沟县17783617086: 1.什么是十进制数法?有哪些计数单位?2.怎样比较两个数的大小?3.分数的基本性质和小数的基本性质有什么 -
淡赖小儿: 1每相邻两个计数单位之间的进率是十,这叫做十进制计数法.小数的计数单位是:十分之一、百分之一、千分之一、万分之一…………2先看整数部分,谁大谁就大.如果整数部分一样,那就再看小数部分的十分位,谁大谁就大.如果十分位一样,那就再看小数部分的百分位,以此类推……

九寨沟县17783617086: 浮点数的二进制表示 -
淡赖小儿: 整数怎样转2进制,小数怎样转2进制就不说了. 12.5: 1. 整数部分12,二进制为1100; 小数部分0.5, 二进制是.1,先把他们连起来,从第一个1数起取24位(后面补0): 1100.10000000000000000000 这部分是有效数字.(把小数点前后两部...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网