我試圖找到浮點數據類型的簡單模數運算。模數運算如何與float數據類型一起使用?
float a=3.14f;
float b=10f;
result=a%b;
我m到處結果= 3.14
又如使用十進制的數據類型:
decimal p=10;
decimal q=40;
result=p%q;
得到答案= 20。
我不理解模量是如何工作的?
我試圖找到浮點數據類型的簡單模數運算。模數運算如何與float數據類型一起使用?
float a=3.14f;
float b=10f;
result=a%b;
我m到處結果= 3.14
又如使用十進制的數據類型:
decimal p=10;
decimal q=40;
result=p%q;
得到答案= 20。
我不理解模量是如何工作的?
關於msdn的這篇文章有足夠的例子,但我可以真正快速地解釋它;
http://msdn.microsoft.com/en-us/library/0w4e0fzs.aspx
如果你做什麼int result = x % y;
你會發現,你將返回的x % y
其餘和值被視爲更像是整數。例如,鏈接中的第三行是Console.WriteLine(5.0 % 2.2);
,其中打印.6
。這是因爲它發現2.2可以進入5.0不超過兩次。所以它確實是5 - 2.2(2)它是.6
幫我看看它的工作原理? – user3117347
@ user3117347對於'x%y',它發現'y'完全分開了''''a'次然後給你餘數。含義'y *(a + 1)'會大於'x','y * a'小於'x'。它給你'x'和'y * a'或'x - (y * a)'之間的區別 – evanmcdonnal
從浮點剩餘的C#語言規範。在x % y
的情況下,如果x
和y
是正的有限值。
z
是x % y
結果和被計算爲x – n * y
,其中n
是最大可能的整數,它是小於或等於x/y
。
C#語言規範還清楚地概述瞭如何處理非零有限值,零,無窮的所有可能組合的情況下做的桌子,和NaN的,可以用X%Y的浮點值出現。
y value | +y –y +0 –0 +∞ –∞ NaN -----+---------------------------- x +x | +z +z NaN NaN x x NaN –x | –z –z NaN NaN –x –x NaN v +0 | +0 +0 NaN NaN +0 +0 NaN a –0 | –0 –0 NaN NaN –0 –0 NaN l +∞ | NaN NaN NaN NaN NaN NaN NaN u –∞ | NaN NaN NaN NaN NaN NaN NaN e NaN | NaN NaN NaN NaN NaN NaN NaN
你明白''%如何與整數作品? – dan04
重新檢查你的第二個例子。 10%40 = 10,而不是20. –
我知道我遲到了派對,但是10%40應該是0.%get的剩餘部分。 – jtsmith1287