我的朋友说"mod"和"rest"之间存在差异.
如果是这样,那么C和C++的差异是什么?"%"是指C中的"mod"还是"rem"?
我真的不明白模数除法是如何工作的.我正在计算27 % 16和结束11,我不明白为什么.
我似乎无法在网上找到外行人的解释.有人可以详细说明这里发生了什么吗?
我很想知道如何将数字舍入到最接近的第十个整数.例如,如果我有:
int a = 59 / 4;
Run Code Online (Sandbox Code Playgroud)
以浮点计算的14.75; 如何将数字存储为"a"中的15?
在我测试的语言中,- (x div y )不等于-x div y; 我已经//在Python中,/在Ruby中,div在Perl 6中进行了测试; C有类似的行为.
这种行为通常是根据规范,因为div通常被定义为舍入向下分工的结果,但它不从的观点算术点做出很大的意义,因为它使div行为以不同的方式取决于标志,它引起混乱,如这篇文章如何在Python中完成.
这个设计决策背后是否有一些特定的理由,或者只是div从头开始定义?显然Guido van Rossum在博客文章中使用了一致性论证,解释了它是如何在Python中完成的,但如果你选择整理,你也可以有一致性.
我在Haskell中创建了一个函数,它只将列表中的evens减半,我遇到了问题.当我运行编译器时,它抱怨你不能执行int的划分,并且我需要一个小数int类型声明.我已经尝试将类型声明更改为float,但这只是生成了另一个错误.我已经在下面包含了该函数的代码,并希望获得任何形式的帮助.
halfEvens :: [Int] -> [Int]
halfEvens [] = []
halfEvens (x:xs) | odd x = halfEvens xs
| otherwise = x/2:halfEvens xs
Run Code Online (Sandbox Code Playgroud)
谢谢你的阅读.
1/2
Run Code Online (Sandbox Code Playgroud)
给
0
Run Code Online (Sandbox Code Playgroud)
正如它应该.然而,
-1/2
Run Code Online (Sandbox Code Playgroud)
给
-1
Run Code Online (Sandbox Code Playgroud)
,但我希望它向0舍入(即我希望-1/2为0),无论它是正还是负.最好的方法是什么?
自学C并发现当我为温度转换进行等式时,除非我将分数更改为小数,否则它将无效.即
tempC=(.555*(tempF-32)) 会工作,但tempC=((5/9)*(tempF-32)) 不会奏效.
为什么?
根据C Primer Plus,它应该可以工作,因为我正在使用tempC和tempF的浮子.
我习惯了旧式C和最近才开始探索c99功能.我只有一个问题:如果我在我的程序中使用c99,c99标志gcc并将其与之前的c99库链接,我的程序是否会成功编译?
那么,我应该坚持旧的C89还是进化?
在C中,整数除法a/b与floor(a/b)之间是否存在差异,其中a和b都是整数?更具体地说,在两个过程中发生了什
这表现得很好:
double t = r[1][0] * .5;
Run Code Online (Sandbox Code Playgroud)
但这不是:
double t = ((1/2)*r[1][0]);
Run Code Online (Sandbox Code Playgroud)
r 是一个二维矢量.
只是想到了一种可能性.是因为(1/2)被认为是int和(1/2) == 0?