Tag: 舍入

我可以依赖C中的%(modulo)运算符来表示负数吗?

使用GCC: printf(“%i \n”, -1 % (int)4); printf(“%u \n”, -1 % (unsigned int)4); 输出: -1 3 我可以跨平台依赖这种行为吗? 我应该明确定义MOD和REM宏以确保不会改变吗?

在C中手动实现舍入function

我编写了一个C程序(这是我项目的一部分),将浮点值四舍五入到用户指定的给定精度。 function是这样的 float round_offf (float num, int precision) 我在这个程序中所做的是将浮点数转换为字符串然后进行处理。 但有没有办法将数字保持为浮动本身并实现相同的。 例如。 num = 4.445 prec = 1 result = 4.4

将整数舍入到最接近的十或百

我试图在C中考虑一个满足以下条件的函数: 它接受一个大于0的整数作为参数; 它将该整数舍入到最接近的值,以便只有第一个数字不是零 例如: 53出来60 .. 197年作为200 .. 4937出来5000 有没有办法做到这一点,以满足要求,无论尾随零的数量? 例如,我理解如何在任何个案中做到这一点。 divide 53 by 10 then ceil(), multiply by 10,但我希望能够处理任何值。 意见? 想法?

将变量转换为int vs round()函数

我已经在几个地方看到过它,其中(int)someValue是不准确的,而是调用round()函数的问题。 两者有什么区别? 具体来说,如果需要,对于C99 C.我在java中编写时也看到了同样的问题。

C – 舍入问题(CS50)

我已经谷歌搜索了好几天,我迷路了。 所以在网上做CS50似乎无法掌握这一轮数字。 我的程序搞乱了像2.10这样的浮点数乘以100这样的整数输出209.xxxxxxxx 就像我说我已经阅读了无数的post,我应该使用ceilf并包含 但是我收到了一个错误 greedy.c :(。text + 0x74):未定义引用`ceilf’collect2:错误:ld返回1退出状态make:*** [greedy]错误1 adam @ beethoven:〜/ projects / atom / edx / pSet1 /贪婪$ 我已经看过关于-lm和某个文件的post,但如果我说实话,我不明白这意味着什么。 我绝不是在寻找一个彻底的解决方案,只是在改进方面提供指导。 这是我的代码,可能不像某些人希望的那样精简,但我回到这里的基础;) #include #include int main() { // Initialize Variables int coinsTotal = 0, quarter = 25, dime = 10, nickel = 5, penny = 1, cents; float changeDue; do { printf(“How much […]

如何将浮点数舍入到C中最接近的整数?

有没有办法在C中舍入数字? 我不想使用ceil和地板。 还有其他选择吗? 当我用Google搜索答案时,我遇到了这段代码: (int)(num < 0 ? (num – 0.5) : (num + 0.5)) 即使float num = 4.9,上面的行总是将值打印为4。

sin,cos,tan和舍入误差

我正在用C / C ++进行一些三角计算,并且遇到了舍入错误的问题。 例如,在我的Linux系统上: #include #include int main(int argc, char *argv[]) { printf(“%e\n”, sin(M_PI)); return 0; } 该程序提供以下输出: 1.224647e-16 当正确的答案当然是0。 使用trig函数时,我可以期待多少舍入误差? 我怎样才能最好地处理这个错误? 我熟悉用于比较浮点数的最后位置单位技术,来自Bruce Dawson的比较浮点数 ,但这似乎在这里不起作用,因为0和1.22e-16相当于几个ULP。

如何在没有舍入C的情况下关闭十进制

如何在不舍入的情况下切断C中的小数位? 例如,如果数字是4.48 它只会显示4.4 %.1f到4.5