Products
GG网络技术分享 2025-11-22 14:37 0
嗨,巨大家优良!今天我要给巨大家讲一个超级轻巧松的用法,保证你一kan就会!就是C语言里的一个特别的细小暗地,让你写代码的时候geng加得心应手!
你晓得吗?在C语言里 Ru果你写成1./s,眼下1.0是float,Ru果是1/s,那么1和sdou被觉得是long,运算后来啊也为long,由于long不Neng包含细小数,所以后来啊是0。

那为啥有时候我们要加个细小数点呢?哦,让我来告诉你吧!
当表示常数时 Ru果不带细小数点,也不是带e的学问计数法表示,而只是纯数字,那么系统默认是int型。不过对于常见的32位编译器,long和intdou是32位,就不需要这样Zuo了。
而Ru果写成1./s,眼下1.0是float,那你晓得为啥吗?基本上原因是浮点数Neng有细小数点啊!但是 Ru果你写成1/s,那么1和sdou被觉得是long,运算后来啊也为long,由于long不Neng包含细小数,所以后来啊是0。
在取整时进行细小数点后1位四舍五入可有些别让二进制浮点数与真实实数据间的舍入误差问题。哦,这玩意儿听起来优良麻烦,但是我保证,你听了我的说明白,就会觉得超级轻巧松啦!
比如你这玩意儿题目,你想让e加上s的倒数,但是不晓得为啥,不加细小数点就不对劲。那是基本上原因是 s是long,精度比float矮小,所以s自动转变成float,两个float相除,后来啊是float,也就是细小数有些被保留下来了。
比如说.03Ru果定义为整型变量,会取整。比方说定义int i=,其实吧i的值会是0。哇,是不是吓了一跳?但是别担心,我告诉你这玩意儿细小暗地,你就不会再被这玩意儿问题困扰了。
再比如 在16位编译器下Ru果long a=;那么其实吧a会被赋值为1,基本上原因是Yi经超出了16位int的范围。这时要正确后来啊就非...不可 long a = 65537L;
优良啦,今天我就给巨大家讲到这里。Ru果你觉得这篇文章对你有帮,就赶紧分享给你的细小伙伴吧!下次写代码的时候,想起来用上这玩意儿细小技巧哦!希望你们douNeng成为编程细小高大手!
别忘了点赞和关注哦,我们下次再见!
Demand feedback