gpt4 book ai didi

c++ - 向 0 舍入整数到 float

转载 作者:搜寻专家 更新时间:2023-10-31 01:56:40 25 4
gpt4 key购买 nike

当我执行以下操作时:

long x1 = LONG_MAX;
float x2 = x1;
long x3 = x2;

我得到以下信息:

x1 = 2147483647
x2 = 2147483648
x3 = -2147483648

有什么方法可以从 x1 到 x2 向 0 舍入(或者甚至简单地向负无穷大舍入)?

最佳答案

也许您对标准 IEEE 754 rounding modes 感兴趣?

链接是libc;我不确定这是否已经标准化为语言本身的一部分。

我想这会起作用(未经测试):

    #include <math.h>

int save_round_mode = fegetround();

fesetround (FE_TOWARDZERO);
/* do stuff here */
fesetround (save_round_mode);

关于c++ - 向 0 舍入整数到 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6741584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com