Tag: 截断

浮动整数铸造?

我知道浮点数不能完全代表每个数字,因此必然会发生一些错误。 但最近我遇到了一个问题,我没有得到正确的解释。 请逐步解释转换如何影响输出。 截断小数位如何给我错误的答案? #include #include #include int main() { int x; int y = 0; int n = 0; printf(“Enter The Number You Want To Octal Equivalent Of : “); scanf(“%d”,&x); while(x>0) { y = y + (x%8)*pow(10,n); printf(“%d\n” , y); x = x/8 ; n = n + 1; } printf(“Octal Equivalent is […]

快速浮点到int转换(截断)

我正在寻找一种以快速便携(IEEE 754)方式将float截断为int方法。 原因是因为在这个函数中,50%的时间都花在了演员身上: float fm_sinf(float x) { const float a = 0.00735246819687011731341356165096815f; const float b = -0.16528911397014738207016302002888890f; const float c = 0.99969198629596757779830113868360584f; float r, x2; int k; /* bring x in range */ k = (int) (F_1_PI * x + copysignf(0.5f, x)); /* <– 50% of time is spent in cast */ x -= k […]