关于c语言中double类型数字 最大可表示多大得数?知道是8字节64位二进制 可编程时打出30位长的为啥没错?

作者&投稿:在惠 (若有异议请与网页底部的电邮联系)
C语言中的double是最多多少位?~

双精度实数,占用字节8。
有效数字15~16(因为二进制转十进制问题)。
数值范围-1.7*10负308次方~1.7*10的308次方。
当有效数字全部是整数时,即整数有15~16位。
C语言中,输出double类型(双精度实型)以及float类型(单精度实型)时,默认输出6位小数(不足六位以 0 补齐,超过六位按四舍五入截断)。double a = 1;printf("%lf
", a);输出会是:1.000000
比如计算平均分,一到两位小数就足够了。可是有时六位又不够,需要更多位小数,比如计算高精度平方根。这时可以用printf的格式控制。如果要输出n位小数,那么可以用%.nlf的格式。其中n为数字。

所在函数库为【ctype.h】
int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0
int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9')
返回非0值,否则返回0
int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0
int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F)
以上内容参考:百度百科-C语言函数

double的范围并不是这样算的。它的64位可以划分为 符号位 指数位 和 尾数位

而不像int那样,其中指数位的多少,代表了所能表达的范围多少。

例如 你上面 308就是指数位进行存储的。也就是double存储的时候 是按照科学计数法的方式进行存储的

c语言double(双精度浮点型)长度为8个字节,取值范围在+/-(1.7*10的-308次方~1.7*10的308次方)16位有效数字
最大可以表示1.7E308,很大个数字。

确实是的..

不过这题明显不应该有浮点数来做....


C语言编写计算double变量中有几个零
int Double_Zero_Acc(double data);main(){ double data = 50.440650000003;int Acc = 0;Acc = Double_Zero_Acc(data);printf("Double data : %.15g\\nZero account : %d\\n",data,Acc);getch();} int Double_Zero_Acc(double data){ char *pi = NULL,*str_for_doub = NULL;int Acc...

关系表达式使用的运算符为关系运算符吗
关系运算符中的“关系”二字指的是一个值与另一个值之间的关系,逻辑运算符中的“逻辑”二字指的是连接关系的方式。因为关系和逻辑运算符常在一起使用,所以将它们放在一起讨论。 关系和逻辑运算符概念中的关键是True(真)和Flase(假)。C语言中,非0为True,0为Flase。使用关系或逻辑运算符的表达式对Flase和Ture...

模运算符%的定义?
关系运算符中的“关系”二字指的是一个值与另一个值之间的关系,逻辑运算符中的“逻辑”二字指的是连接关系的方式。因为关系和逻辑运算符常在一起使用,所以将它们放在一起讨论。 关系和逻辑运算符概念中的关键是True(真)和Flase(假)。C语言中,非0为True,0为Flase。使用关系或逻辑运算符的表达式对Flase和Ture...

位运算符的问题,&不能进行int,float运算。为什么?
位运算符 只用于 整型。float 要转为 整型, 否则 编译 不能通过。int x=2,z;float y = 2.0;z = x & (int) y; \/\/ 这样才能通过编译。不会自动转换。否则有“illegal“ 操作数错误。printf("%x",z);

烟台市18293178392: 在c语言中double是什麽意思啊? -
桐珊盐酸: 表示双精度类型! 你现在刚学 暂时先理解为: float:小数点后面的数少点 double:小数点后面的数多点! 先这样理解吧! 祝你好运!

烟台市18293178392: c语言中double定义的数是干嘛的 -
桐珊盐酸: 相对于int定义整型变量 float定义实型变量 double也是定义实型变量,不过double定义的实型变量所占字节要比float定义的实型变量所占的字节要大,也就是说double定义的实型变量取值范围更大. 比如:float a; (假设float型占32个字节) 则a的赋值范围 -3.4*10(-38)~3.4*10(38)有效数字6-7位double a; (假设double型占64个字节 则a的赋值范围-1.7*10(-308)~1.7*10(308)有效数字15-16位

烟台市18293178392: c语言把数字字符串转换成double型数字 -
桐珊盐酸: sscanf(,"%f",);这样得到的是float类型的,然后将其强制转换为double类型

烟台市18293178392: 写一段简单的c语言程序: 输入一个double类型的数,使它保留小数点后两位,对第三位四舍五入处理 -
桐珊盐酸: 1 输入double类型数. 2 利用取整,将第三位四舍五入. 3 输出结果. 注意,不可以直接以%.2lf输出,因为题目要求的是在程序中四舍五入处理,而不是仅仅输出四舍五入后的结果. 代码:1 2 3 4 5 6 7 8 9 10#include <stdio.h> intmain() {doublev;scanf("%lf",&v);v = (int)(v*100+0.5)/100.0;printf("%.2lf\n",v); return0; }

烟台市18293178392: 计算机C语言中的关键字:double是什么意思? -
桐珊盐酸: double:表示双精度字型.C语言中的关键字: auto :声明自动变量 break:跳出当前循环 case:开关语句分支 char :声明字符型变量或函数返回值类型 const :声明只读变量 continue:结束当前循环,开始下一轮循环 default:开关语句中的...

烟台市18293178392: 计算机c语言中double型数据是什么类型,数据长度是什么 -
桐珊盐酸: 双精度浮点型,就是数学里的小数,数据长度为64个字节.

烟台市18293178392: c语言double什么意思 -
桐珊盐酸: double在这里是指将变量i和变量s定义为双精度实型变量.(也就是说:赋给这两个变量的值将以双精度实型格式存储在内存中) 注意事项 1、类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则...

烟台市18293178392: c语言中double型数据是什么意思?比如x为double型 -
桐珊盐酸: double是双精度浮点数,变量的存储空间要比float占用的多,浮点数表示的精度要更准确.

烟台市18293178392: C语言中double类型数据的输出与接收 -
桐珊盐酸: #include<stdio.h>头文件...你输入输出头文件都没. scanf("%lf",&a);因为你是双精度.

烟台市18293178392: 关于C语言double型的问题. -
桐珊盐酸: 1、3/2,因为都是整数形式,系统默认是int型,因此结果也是int型,所以这个中间值是1,而不是1.5.2、x,y都是double型,y=x+1,编译系统在运行时会先将1转化成double类型,1.000000,实际的运算是y=1.000000+1.000000=2.000000.示例程序如下: #include int main() { double x=1,y; y=x+3/2; printf("%f\n",y); return 0; }运行结果为: 2.000000

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