几年前的代码发现一个BUG: 整数相除结果不能默认转换为浮点数
2018-04-19 17:43
363 查看
几年前的代码发现一个BUG:
运行结果:
#include "stdafx.h" #include "stdio.h" #include<stdlib.h> void test(void) { double t; U32 P=1,Q=3; printf("sizeof(U32)=%d, sizeof(int)=%d, sizeof(long)=%d \n", sizeof(U32), sizeof(int), sizeof(long)); t=P/Q/10; printf("11. t=%f\n", t); t=P/Q/10.0; printf("21. t=%f\n", t); t=1.0*P/Q/10.0; printf("22. t=%f\n", t); t=((double)P)/Q/10.0; printf("31. t=%f\n", t); t=P/((double)Q)/10.0; printf("32. t=%f\n", t); t=(double)P/(double)Q/10.0; printf("33. t=%f\n", t); } int _tmain(int argc, _TCHAR* argv[]) { test(); return 0; }
运行结果:
X:\vs2010\Debug>test_vs2010.exe sizeof(U32)=4, sizeof(int)=4, sizeof(long)=4 11. t=0.000000 21. t=0.000000 22. t=0.033333 31. t=0.033333 32. t=0.033333 33. t=0.033333
相关文章推荐
- 输入一个浮点小数, 将其按4舍5入转换成整数, 并显示
- 整数转换成字符型的两种方法c++代码实例及运行结果
- 在ASP.NET中,发现的关于string转换的一个小Bug
- C语言两个整数相除所得结果仍是整数,而非浮点数
- 整数转换成字符型的两种方法c++代码实例及运行结果
- [原创]发现QQ截图功能的一个奇怪bug(不能选择保存文件类型)
- 整数转换成字符型的两种方法c++代码实例及运行结果
- 不能转换为字符串,将一个整数倒序,如1234转换为4321
- 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
- 牛牛有一个鱼缸。鱼缸里面已经有n条鱼,每条鱼的大小为fishSize[i] (1 ≤ i ≤ n,均为正整数),牛牛现在想把新捕捉的鱼放入鱼缸。鱼缸内存在着大鱼吃小鱼的定律。经过观察,牛牛发现一条鱼A的大小为另外一条鱼B大小的2倍到10倍(包括2倍大小和10倍大小),鱼A会吃掉鱼B。考虑到这个,牛牛要放入的鱼就需要保证:1、放进去的鱼是安全的,不会被其他鱼吃掉 2、这条鱼放进去也不能吃掉其他鱼
- 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数
- 整数转换成字符型的两种方法c++代码实例及运行结果
- Java之戳中痛点 - (6)避免类型自动转换,例如两个整数相除得浮点数遇坑
- 整数转换成字符型的两种方法c++代码实例及运行结果
- 算法:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。
- 整数转换成字符型的两种方法c++代码实例及运行结果
- 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
- 整数转换成字符型的两种方法c++代码实例及运行结果
- JS 浮点运算精度解决办法 (把小数转换为整数进行计算【但是不能超过js的整数上限】)
- randnumber_mn.c 生成一个数组,包括k个不重复的整数,并且要求这些整数范围为[m,n),生成的结果中不能包含inum中的数字,size表示inum的长度