Math.IEEERemainder (x, y) और x% y के बीच कोई अंतर है?क्या Math.IEEERemainder (x, y) x% y के बराबर है?
13
A
उत्तर
12
नहीं, वे समान नहीं होते हैं:
यहाँ स्रोत है। MSDN सापेक्ष के लिए और के लिए IEEERemainder इस्तेमाल किया विभिन्न सूत्रों से पता चलता है और मतभेदों का प्रदर्शन एक छोटा नमूना कार्यक्रम है:
IEEERemainder = dividend - (divisor * Math.Round(dividend/divisor))
Modulus = (Math.Abs(dividend) - (Math.Abs(divisor) *
(Math.Floor(Math.Abs(dividend)/Math.Abs(divisor))))) *
Math.Sign(dividend)
कुछ उदाहरण हैं, जहां वे विभिन्न/समान उत्पादन (MSDN से लिया गया):
IEEERemainder Modulus
3/2 = -1 1
4/2 = 0 0
10/3 = 1 1
11/3 = -1 2
27/4 = -1 3
28/5 = -2 3
17.8/4 = 1.8 1.8
17.8/4.1 = 1.4 1.4
-16.3/4.1 = 0.0999999999999979 -4
17.8/-4.1 = 1.4 1.4
-17.8/-4.1 = -1.4 -1.4
इसी तरह के प्रश्न पर छःlettervariables द्वारा यह अच्छा answer भी देखें।
2
नहीं, वे समान नहीं हैं; documentation देखें।
public static double IEEERemainder(double x, double y) {
double regularMod = x % y;
if (Double.IsNaN(regularMod)) {
return Double.NaN;
}
if (regularMod == 0) {
if (Double.IsNegative(x)) {
return Double.NegativeZero;
}
}
double alternativeResult;
alternativeResult = regularMod - (Math.Abs(y) * Math.Sign(x));
if (Math.Abs(alternativeResult) == Math.Abs(regularMod)) {
double divisionResult = x/y;
double roundedResult = Math.Round(divisionResult);
if (Math.Abs(roundedResult) > Math.Abs(divisionResult)) {
return alternativeResult;
}
else {
return regularMod;
}
}
if (Math.Abs(alternativeResult) < Math.Abs(regularMod)) {
return alternativeResult;
}
else {
return regularMod;
}
}
संबंधित मुद्दे
- 1. रूबी अजीबता: x == y && [x, y] .uniq == [x, y]
- 2. x, y = getPos() बनाम (x, y) = getPos()
- 3. `y = x = x + 1; 'अपरिभाषित व्यवहार है?
- 4. दूरी (x, y)
- 5. पायथन - [x, y]
- 6. आर: x, y, z
- 7. x + y = जावास्क्रिप्ट
- 8. matrix.preScale (x, y)
- 9. एक्स-y = x + ¬y + 1 समस्या
- 10. सूची [x :: y] क्या करती है?
- 11. यह कथन जावा x^= y^= x^= y में क्यों काम नहीं कर रहा है;
- 12. एक क्रमबद्ध सरणी में सभी जोड़े (x, y) खोजें ताकि x + y <z
- 13. `x आयात y` बनाम से x.y आयात *`
- 14. पायथन [x, y] का अर्थ पाइथन
- 15. एंड्रॉइड होम स्क्रीन विजेट x-y निर्देशांक
- 16. आई ट्रैकिंग: छात्र ढूंढना (x, y)
- 17. UILabel सेटिंग x, y प्रोग्रामेटिक रूप से
- 18. मिलान विशिष्ट लंबाई x या y
- 19. कम्प्यूटिंग x^जीसीसी वेक्टर intrinsics साथ y
- 20. नि: शुल्क स्केल, लेकिन x/y
- 21. पार्सिंग "*" - क्वांटिफायर {x, y} कुछ भी नहीं
- 22. (x-y) * (x-y) के साथ किसी सूची के तत्वों को प्रतिस्थापित करने के लिए मानचित्र का उपयोग करना, जहां y प्रारंभिक तत्व
- 23. फ़ंक्शन `(y * y) <x 'दो तर्कों पर लागू होता है, लेकिन इसके प्रकार' बूल 'में
- 24. डीओएम ऑब्जेक्ट के jQuery x y दस्तावेज़ निर्देशांक
- 25. फ्लोट ग्राफ़ में x और y अक्ष के लिए शीर्षक
- 26. (x, y) निर्देशांक के बीच अधिकतम दूरी ढूँढना
- 27. आप एक्स और वाई कैसे घोषित करते हैं ताकि x + = y एक संकलन त्रुटि और x = x + y नहीं देता है?
- 28. RegEx - Quantifier {x, y} कुछ भी त्रुटि नहीं
- 29. क्या x = (y/n) + (y% n? 1: 0) की गणना करने के लिए एक और अधिक शानदार तरीका है?
- 30. सी # सूची <> x द्वारा क्रमबद्ध करें y
मैं बस सोच रहा हूं - पृथ्वी पर मैं उन परिणामों को क्यों चाहूंगा? '11/3 = -1'? स्पष्ट रूप से यहां मॉड्यूलस 2 है। लेकिन किस परिदृश्य पर मैं '-1' चाहता हूं? –
@RoyiNamir आपके पास यहां एक जवाब है: http://stackoverflow.com/a/27378075/200443 – Maxence