开发平台(Platform): (Ex: Win10, Linux, ...)
Linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
问题(Question):
最近看到的题目
关于int与float的转换问题
已知int为整数型态,float为浮点数,资料转换会有遗失风险
宣告int放入16进位 0x7FFFFFFF
也就是10进位的2147483647
放入float型态后数值会+1
可是根据我对IEEE754的解释
算出来的应该会是 2147483520 才对
另外一个疑问是
为什么在main function
从float传入到int变回 2147483647
但是pass by value传入到function后
放入int型态和回传都会是-2147483648
目前有从float浮点数运算,return架构去考量,但还是想不出原因
所以想要请教各位大大们
底下有完整程式码及输出可以参考
感激不尽
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
https://ideone.com/VXE1Hl