问题: 代码如下: int i = 23; float f = 3.14; if (i == f) // 执行某段代码 编译器会将i转换成float类型,然后比较这两个float的大小,但是float能够表示所有的int吗?为什么没有将int和float转换成double类型进行比较呢? 回答: 在整型数的演变中,当int变成unsigned时,会丢掉负数部分(有趣的是,这样的话,0u -1就是对的了)。 和C语言中的大部分机制(在C++中得到继承)一样,就硬件操作而言,常见的算术转换应该简明易懂。C语言的发明者精通他们所使用机器上的汇编语言,他们编写的C语言对他们和像他们一样编写程序的人有直
2015-05-11 15:11 wintermute, KayGuoWhu
我的意思是,我知道浮点计算是不精确的
2023-05-16 16:31 Julia Evans, MjSeven
分享到微信
打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。