问大家一下,
#include<stdio.h>
main()
{
double x;
x=2222222222.222226666;
printf("x=%e\n",x);
}
x=2.222222e+009
Press any key to continue
#include<stdio.h>
main()
{
float x;
x=22222.678;
printf("x=%e\n",x);
}
x=2.222268e+004
Press any key to continue
问①,就仅看此程序,其他不要多想,“针对此程序”有效数分别是几位?分别是哪几位?
②,为什么指数形式的有效数,double的不是书中所写的“15~16位”?而且相差非常多?为什么呢?
“double的不是书中所写的“15~16位”?而且相差非常多?为什么呢 -- 因为你没有通过给定格式要求来输出全部有效数字。你用的是 默认输出格式。”急求详解。要如何才能正确呢?急求详解。谢谢。还有 http://zhidao.baidu.com/question/571246396?quesup2&oldq=1 也亟待着您的解答。谢谢。
追答你可以指定输出小数位数,例如 15位
printf("x=%.15e\n",x);
然后,你按 15位 有效数字考虑 便可。
C语言中float和double的指数问题。
有效数字,不计 e 以后的指数。x=2.222222e+009 其中 2.222222 是 显示的有效数字, double 可以有更多位的有效数字,你可以 增加场宽和小数位 输出 它们。float 有6-7位有效数字。2.222268 这7个数字是有效数字。有效数字,不计 e 以后的指数,也不计小数点,也不计正负号,也不计e...
C语言中float和double的指数的问题。
有效数字位数 取决于 内存单元大小。 float 4 字节, double 8 字节。
C中的float和double的有效数字和精度各是多少?
C语言中的浮点数类型float和double在有效数字和精度上有所差异。float占用32位,其中1位用于符号,8位表示指数,剩余23位作为尾数。由于指数部分的8位可以表示从-128到127,实际范围大约是-3.4E38到3.4E38。double则为64位,其中1位符号,11位指数,52位尾数。double的范围大约是-1.7E308到1.7E308...
C语言中float与double基本变量的问题
指数 8 int 32位:符号 1 精度 31 但是 没法表示 很大和很小的数,float 是科学计数法,虽然精度不高,但能表达的范围更大 double 64位:可以理解为是 float 的增强版,精度和指数都 用更多位 表示了
C中的float和double的有效数字和精度各是多少?
float有效数字位为6 – 7位,字节数为4,指数长度为8位,小数长度为23位。取值范围为 3.4E-38~3.4E+38。double有效数字位为15 – 16位,字节数为8,指数长度为11位,小数长度为52位。取值范围为1.7E-308~1.7E+308。
C语言中float和double的区别,float六位有效数字是指什么
就是你想知道的数值范围。对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。
c语言float型数据范围(在C语言中float数据数值范围是多少)
C语言中,float为单精度浮点数,占4字节,其数值范围为3.4E-38~3.4E+38或者-(3.4E-38~3.4E+38)float的指数位有8位,尾数位有23位,符号位1位。于是,float的指数范围为-127~+128,按补码的形式来划分。其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达...
C语言中double s和 float s的区别!!在线等,重谢!!
float :单精度型变量占用4个字节,范围是-3.4*10^38 ~~3.4*10^38,小数点有效位为7位 double:双精度型变量占用8个字节,范围是-1.7*10^308 ~~1.7*10^308,小数点有效位为15位 double s =0 和 s= 0.0 同义,系统会将常数强制转换成对应型态。在c 语言使用 printf() 时,double ...
c语言中float与double有什么区别?
在C语言中,float与double是两种用于存储浮点数的类型。它们之间最主要的差异在于内存占用量以及能够表示的数值精度。float类型使用4字节的内存来存储数据,而double类型则需要8字节。这使得double类型能够表示更高精度和更宽范围的数值。实际上,double类型的精度大约是float类型的两倍。举个例子,对于数值1....
为何浮点数要转换成指数形式?
一、在C语言中,浮点数,包括float和double类型,有两种表示方法:1、实数形式,即1.23这样整数部分加小数部分的表示方式;2、指数形式,即科学计数法。其形式为:aEb 代表a乘10的b次幂。 E也可以是小写,b必须为整数。二、指数形式只是浮点数的一种表示方法,任何一个浮点数,都有实数形式和指数形式...