您的位置:

c语言long中间加小数点,c语言长小数

本文目录一览:

c语言中,长整形long可以和浮点形float一起定义吗?0.03用整形怎么表示?小数都要用浮点形。

一般来说,long和float不能一起定义。

0.03如果定义为整型变量,会取整。例如定义int i=0.03,实际上i的值会是0。

小数的表示都用浮点。

C语言在什么情况下需要编译器以long类型储存一个小数字

当表示常数时, 如果不带小数点, 也不是带e的科学计数法表示, 而只是纯数字, 那么系统默认是int型.

这样要表示long范围内的数字就可能出错.

比如 在16位编译器下, 如果long a=65537; 那么 实际上a会被赋值为1,因为已经超出了16位int的范围. 这时要正确结果就必须 long a = 65537L;

不过 对于常见的32位编译器, long和int都是32位 就不需要这样做了.

C语言 e+=1.0/s为什么1要加小数才行?

C语言中,如果运算的两个数,数据类型不同,那么精度低的类型将自动向精度高的类型转变

比如你这个题目

如果是1/s,那么1和s都被认为是long,运算结果也为long(这是C规定的),由于long不能包含小数,所以结果是0

而如果写成1.0/s,现在1.0是float,

s是long,精度比float低,所以s自动转变成float,两个float相除,结果是float,也就是小数部分被保留下来了

C语言如何在很多数中加一个小数点

利用整数的截断效果,将数据小数部分单取出来,乘以10后取整,与原数比较,若不等,则判断大于小数点后1位,依此计算直到相等为止。

在取整时进行小数点后1位四舍五入可部分防止二进制浮点数与真实数据间的舍入误差问题。