C++中log(8)/log(2)和int(log(8)/log(2))为什么计算结果会不一样?

C++中log(8)/log(2)和int(log(8)/log(2))为什么计算结果会不一样?

编译器:dev C++5.4.0
编译器环境:MinGW GCC 4.7.2 32-bit

C++代码:

#include <iostream>
#include <cmath>

using namespace std; 

int main(int argc, char *argv[]) {
    cout<<log(8)/log(2)<<endl;
    cout<<int(log(8)/log(2));
    return 0;
}

运行结果:
3
2


dev C++5.11上面运行的结果是3 3

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632