2010-10-25 12 views
22

क्या कोई विशेष कारण है कि इस प्रकार का शाब्दिक शामिल नहीं है जबकि हेक्स और ऑक्टल प्रारूपों की अनुमति है?जावा में कोई बाइनरी अक्षर क्यों नहीं हैं?

+0

यह अधिकांश भाषाओं में शामिल नहीं है, शायद जावा में शामिल नहीं होने के कारण भी यही कारण है। लेकिन मैं वैसे भी सामान्य कारण जानना चाहता हूं। –

+0

त्वरित प्रतिक्रियाओं के लिए धन्यवाद दोस्तों। संक्षेप में, मैं कहूंगा कि इसमें शामिल नहीं है क्योंकि सी में यह नहीं है और वास्तव में नहीं क्योंकि यह जटिलता को जोड़ता है। हेक, ऑक्टल शामिल है और मुझे बाइनरी की तुलना में इसका अधिक उपयोग नहीं दिखता है, लेकिन केवल इसलिए कि सी में यह है। जैसा कि हम इस प्रस्ताव से देख सकते हैं http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000929.html, बाइनरी साहित्य में विशेष रूप से बिट उन्मुख डोमेन में कई फायदे हैं। –

उत्तर

26

जावा 7 it.Check new features भी शामिल है।

उदाहरण:

int binary = 0b1001_1001; 
+8

यहां एक और हालिया और अधिक "आधिकारिक" संदर्भ है - http://openjdk.java.net/projects/coin/ –

+1

ग्रेट लिंक +1। यह मुझे इस http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000929.html पर ले जाता है जो मेरे सभी कारण बताता है कि मैं एक बाइनरी शाब्दिक क्यों देखना चाहता हूं। –

+2

हालिया लिंक यहां है: http://download.oracle.com/javase/7/docs/technotes/guides/language/binary-literals.html –

25

बाइनरी शाब्दिक जावा 7 में शुरू किए गए थे "Improved Integer Literals" देखें:

int i = 0b1001001; 

उन्हें दिन से शामिल नहीं करने के लिए कारण एक सबसे अधिक संभावना है निम्नलिखित है: जावा एक उच्च स्तरीय भाषा है और काफी प्रतिबंधात्मक जब कर दिया गया है यह भाषा संरचनाओं की बात आती है जो कम महत्वपूर्ण और निम्न स्तर पर हैं। जावा डेवलपर्स की "सामान्य स्थिति में, इसे बाहर रखें" की सामान्य नीति है।

आप जावा 6 या उससे अधिक पर हैं, तो आपका सबसे अच्छा विकल्प

int yourInteger = Integer.parseInt("100100101", 2); 
+4

सी मध्य-स्तर की भाषा है और ऐतिहासिक रूप से काफी अनुमोदित है जब भाषा संरचनाओं की बात आती है जो बहुत कम स्तर पर हैं। फिर भी, कोई बाइनरी अक्षर नहीं। –

+1

हां, यह आईएमओ अजनबी है। यह काफी समय से जीसीसी में मौजूद है, हालांकि मैं इसे समझता हूं। – aioobe

+1

कितने लोग बाइनरी वाले पाएंगे उससे अधिक ऑक्टल अक्षरों को अधिक उपयोगी पाते हैं? – supercat

1

associated bug खुला है ऐसा करने के लिए अप्रैल 2004 से है, कम प्राथमिकता है और सूर्य/ओरेकल द्वारा वृद्धि के लिए एक अनुरोध के रूप में माना जाता है ।

मुझे लगता है कि उन्हें लगता है कि द्विआधारी शाब्दिक भाषा और अधिक जटिल हो जाएगा और स्पष्ट लाभ प्रदान नहीं करता है ...

0

यहाँ कि द्विआधारी शाब्दिक को लागू करने के लिए जटिल है एक धारणा हो रहा है। यह नहीं है इसमें लगभग पांच मिनट लगेंगे। इसके अलावा पाठ्यक्रम के परीक्षण के मामले।

संबंधित मुद्दे