मैं GitHub पर ओपन सोर्स प्रोजेक्ट में से एक को देख रहा था और मैं जावा में कोड की निम्न पंक्ति पाया का टुकड़ा के बारे में चिंता,कोड
static byte[] byteArray = new byte[1 << 11];
यहाँ हम जानते हैं, कि 1 < < 11 लेकिन 2048 कुछ भी नहीं है तो मैं सीधे, के रूप में पालन इसकी लंबाई = 2048 देकर सरणी को प्रारंभ कर सकते हैं
static byte[] byteArray = new byte[2048];
तो क्यों ऐसा लगता है कि 1 < < 11 के बजाय 2048 प्रत्यक्ष रूप से लिखा गया है।
शुद्ध रूप से शैली का मामला। वे 2048, या 0x800 लिख सकते थे, या जावा 7 और बाद में 0b100000000000 में, लेकिन स्पष्ट रूप से उन्हें लगा कि यह जोर देने के लिए उपयोगी था कि एकमात्र बिट सेट थोड़ा 11 है (और शायद जावा 7 से पहले कोडिंग कर रहे थे या जावा 7 की बाइनरी से अनजान थे शाब्दिक)। –
हो सकता है कि वे केवल संख्या डालने के बजाय बिट शिफ्टिंग जादू में अधिक इच्छुक हों। हालांकि यह पूरी तरह से एक मामला है कि कैसे एक कोड। : पी –