有谁知道为什么C#中的整数除法返回一个整数而不是浮点数?它背后的想法是什么?(这只是C/C++的遗产吗?)
在C#中:
float x = 13 / 4;
//imagine I used have an overridden == operator here to use epsilon compare
if (x == 3.0)
print 'Hello world';
Run Code Online (Sandbox Code Playgroud)
此代码的结果将是:
'Hello world'
Run Code Online (Sandbox Code Playgroud)
严格地说,没有整数除法这样的东西(按定义除法是产生有理数的运算,整数是其中一小部分.)
我真的不明白模数除法是如何工作的.我正在计算27 % 16和结束11,我不明白为什么.
我似乎无法在网上找到外行人的解释.有人可以详细说明这里发生了什么吗?
我只是想知道,如果我想将a除以b,并且对结果c和余数感兴趣(例如说我有秒数并希望将其分成几分钟和几秒),那么最好的方法是什么去吧?
可不可能是
int c = (int)a / b;
int d = a % b;
Run Code Online (Sandbox Code Playgroud)
要么
int c = (int)a / b;
int d = a - b * c;
Run Code Online (Sandbox Code Playgroud)
要么
double tmp = a / b;
int c = (int)tmp;
int d = (int)(0.5+(tmp-c)*b);
Run Code Online (Sandbox Code Playgroud)
要么
也许有一个神奇的功能同时给出一个?
Javascript中是否有任何函数可以让你进行整数除法,我的意思是在int中得到除法答案,而不是浮点数.
var x = 455/10;
// Now x is 45.5
// Expected x to be 45
Run Code Online (Sandbox Code Playgroud)
但我希望x为45.我试图消除数字中的最后一位数字.
如何仅使用位移和加法进行乘法和除法?
有人想解释为什么这两段代码表现出不同的结果?
VB.NET v4.0
Dim p As Integer = 16
Dim i As Integer = 10
Dim y As Integer = p / i
//Result: 2
Run Code Online (Sandbox Code Playgroud)
C#v4.0
int p = 16;
int i = 10;
int y = p / i;
//Result: 1
Run Code Online (Sandbox Code Playgroud) 我不太明白为什么我不能除以零例外:
int d = 0;
d /= d;
Run Code Online (Sandbox Code Playgroud)
我本来希望得到除以零的除法运算,但是反而d == 1。
为什么在什么时候不d /= d将被零除d == 0?
c++ division divide-by-zero compiler-optimization undefined-behavior
在sqlite中返回整数值
sqlite> select totalUsers/totalBids from
(select (select count(*) from Bids) as totalBids ,
(select count(*) from Users) as totalUsers) A;
1
Run Code Online (Sandbox Code Playgroud)
我们可以对结果进行类型转换以获得除法结果的实际值吗?
假设您有两个列表A = [a_1, a_2, ..., a_n]和B = [b_1, b_2, ..., b_n]整数.我们说A是潜在的,可分割的B,如果有一个置换B,使得a_i整除b_i所有i.那么问题是:是否有可能重新排序(即置换)B以便a_i可以被b_i所有人整除i?例如,如果你有
A = [6, 12, 8]
B = [3, 4, 6]
Run Code Online (Sandbox Code Playgroud)
那么答案是True,因为B可以重新排序是B = [3, 6, 4],然后我们就会有a_1 / b_1 = 2,a_2 / b_2 = 2和a_3 / b_3 = 2,所有这一切都是整数,因此A是潜在的,整除B …
如何在Python 2.7中分割两个数字并获得带小数的结果?
我不明白为什么有区别:
在Python 3中:
>>> 20/15
1.3333333333333333
Run Code Online (Sandbox Code Playgroud)
在Python 2中:
>>> 20/15
1
Run Code Online (Sandbox Code Playgroud)
这不是一个模数吗?