इस के लिए कुछ कारण हैं ..
सबसे पहले, गुणा और भाग वास्तव में जल्दी कुछ परिस्थितियों में है जब हम पारी छोड़ दिया उपयोग करते हैं, सही बदलाव ...
बाइनरी में नंबर 1 यानी 00000001 शिफ्ट यह 00,000,010 बनने के लिए छोड़ दिया है और अब यह 2 है .. यानी 1 एक्स 2
शिफ्ट इसे दो बार गुणा करने के लिए/विभाजन 4 के द्वारा, 8 के लिए 3 बार, 16 के लिए 4 बार, आदि ...
इसका उपयोग अक्सर बार-बार नहीं किया जाता है, लेकिन सी/सी ++ से भौतिकी इंजन बंदरगाह जैसे मामलों में, डेटा की विशाल मात्रा में प्रोसेसिंग, या कुछ 3 डी इंजन, हम मूल कोड के एक अवशेष के रूप में, या बस गति के लिए बदलाव देखेंगे।
(आप इसे कुछ जे 2 एमई मोबाइल जावा गेम पर भी देख सकते हैं, उदाहरण के लिए, जहां फ्लोटिंग पॉइंट इकाइयां उपलब्ध नहीं हैं यानी एक मान को 10 बिट्स छोड़ दें ताकि बाकी 10 बिट एक प्रकार के दशमलव बिंदु की तरह कार्य करें .. फिर शिफ्ट करें कुल संभव आकार की लागत पर, स्क्रीन स्थिति पर ड्राइंग करते समय वास्तविक मूल्य के लिए वापस)
जैसा कि उल्लेख किया गया है, दूसरा उपयोग एक त्वरित Math.floor() के लिए है; - लेकिन एक महत्वपूर्ण भिन्नता के साथ। मैंने कुछ महीने पहले बॉक्स 2 डी के साथ काम करने के कुछ बेंचमार्क किए और इसे सैकड़ों बार तेज पाया - क्योंकि मुझे लगता है कि दोनों रूपांतरणों को मूल रूप से संभाला जाता है।
जब ऋणात्मक संख्याओं गोलाई,
Math.floor (-7,6) = -8 और (-7।6 < < 0) = -7
आईई। < < 0 एक संख्या (फ्लोट) 0 की दिशा में 0
मुझे लगता है कि कुछ कोड का आकलन कर रहे हैं, बस काम करने में क्या है :( – leppie
यदि आप आसपास की कुछ पंक्तियां दिखाएंगे तो हमारे पास और अधिक होगा अनुमान लगाने के लिए। – grapefrukt