A. 计算机c语言的单双精度是什么啊,怎么区别啊
比如,11.234567这个就是单精度,单精度有效位数是前七位,当然不包括小数点,但是小数点后面默认保留6位小数,如果不够6位用0填充。
12.23456789446547这个就是双精度,双精度默认保留14位小数。
双精度比单精度表示浮点型(也就是小数)更精确一些,比如在需要高精度数据的地方就可以用双精度。其它的前面都说了
都很对。
B. C语言中的单精度和双精度浮点型的区别!3.14是哪种3.14159呢
3.14是单精度,3.14159是双精度。
两者区别如下:
一、指代不同
1、单精度:是指计算机表达实数近似值的一种方式。
2、双精度:此数据类型与单精度数据类型(float)相似,但精确度比float高。
二、占用空间不同
1、单精度:范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38 。
2、双精度:双精度型占8 个字节(64位)内存空间,其数值范围为-1.79769313486232E308 到1.79769313486232E308。
三、特点不同
1、单精度:数值比以上值小的时候,将会由于尾数的有效位数减少而逐步丧失精度(IEEE 754的规定),或者有的系统则直接采用0值来简化处理过程。
2、双精度:编译时所占的内存空间依不同的编译器而有所不同,是double float数据类型,C/C++中表示实型变量的一种变量类型。
C. C语言单精度类型数如何比较大小
float f1,f2;
比较大小,一般还是直接用:f1-f2这种方式
如果是比较是否相等,就设置一个误差值:float ESP = 0.000001
假如abs(f1-f2)< ESP, 就认为相等,当然0.000001这个值可以自己设定
D. C语言中浮点数如何比较大小
浮点数比较大小,由于精度问题,所以直接比较有时可能会出错。
所以在比较的时候需要用一个很小的数值来进行比较。当二者差小于这个很小的数时,就认为二者是相等的了。这个很小的数,称为精度。
精度由计算过程中需求而定。比如一个常用的精度为1e-6.也就是0.000001.
所以对于两个浮点数a,b
如果fabs(a-b)<=1e-6,那么就是相等了。
fabs是求浮点数绝对值的函数。
类似的
判断大于的时候,就是if(a>b
&&
fabs(a-b)>1e-6)。
判断小于的时候,就是if(a
1e-6)。
E. c语言中比%lf精度更高的是什么
%f
%f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。
其中:
float,单精度浮点型,对应%f.
double,双精度浮点型,对应%lf.
在用于输出时:
float类型可以使用%lf格式,但不会有任何好处。
double类型如果使用了%f格式可能会导致输出错误。
在用于输入时:
double 类型使用了%f格式,会导致输入值错误。
float类型使用double类型不仅会导致输入错误,还可能引起程序崩溃。
所以在输入输出时,一定要区分好double和float,而使用对应的格式符号。
F. c++中高精度数值与低精度数值作比较怎样进行转换
C语言做长整型到整型的数据类型转换是直接从低位截取,而将高位舍去。65536用长整型表示为十五个0+1+十六个零(二进制)转换为整型时,取后面十六位二进制数字,结果全是0,所以输出为0.65535用长整型表示为十六个0+十六个1(二进制)转换为整型时,取后面十六位二进制数字,结果全是1,输出为-1(计算机中负数是用补码表示的)麻烦采纳,谢谢!
G. C语言 比较两数大小(高精度)
#include<stdio.h>
void main()
{
long double max(long double x,long double y);
long double a,b,c;
scanf("%lf,%lf",&a,&b);
c=max(a,b);
printf("max=%lf\n",c);
system("pause\n");
}
long double max(long double x,long double y)
{
long double z;
if (x>y)z=x;
else z=y;
return(z);
}
H. c语言实现大数比较(高精度)
//可以转换成字符串来比较,添加数字转换成字符串就可以了
#include<stdio.h>
#include<string.h>
intmain()
{
chara[1001],b[1001];
gets(a);
gets(b);
inttemm=strcmp(a,b);
if(temm>0)
printf("%s",a);
elseif(temm<0)
printf("%s",b);
else
printf("两个数据相等 ");
return0;
}
I. C语言的单精度与双精度如何区别
其实就是有效位数不一样。
浮点型变量分为单精度(float)、双精度(double)和长双精度(longdouble)3类。在TurboC中:
比特(位)数有效数字
float326-7
double6415-16
longdouble12818-19
ANSIC并未具体规定每种类型数据的长度、精度、数值范围,有的系统将double所增加的32位全用于存放小数部分,这样可以增加数值的有效范围,减少舍入误差。有的系统则将所增加的位(bit)一部分存放指数部分,这样可以扩大数值范围
J. c语言中单精度型和整形常量可以比较大小吗
C语言里 单精度,双精度,整形,长整型 等数据是可以相互比较的,不会出错,因为做相应操作时,系统会帮你自动转换,至于转换的方向,是按优先级的,具体谁高谁低我记不清了,只记得双精度最高,比方说 int 和 double 比较 int 会自动转换成double类型。话说我记得教材上有的 你可以查一查