दूसरी बात यह है कि, ज्यादातर ऐतिहासिक कारणों से, अधिकांश डेटा 8-बिट बाइट्स में टूट जाता है। यह कोई संख्या हो सकती थी, लेकिन 8-बिट कंप्यूटर वास्तव में लोकप्रिय थे जब चीजें वास्तव में मानकीकृत हो रही थीं, मुझे लगता है।
तो उदाहरण के लिए, पाठ को अक्सर 8-बिट बाइट प्रति अक्षर (ASCII मोड में) के साथ संग्रहीत किया जाता है। डेटा फ़ाइलों को अक्सर बाइट इंडेक्स को पॉइंटर्स का उपयोग करके अनुक्रमित किया जाता है। लोग किलोबाइट्स और मेगाबाइट्स के बारे में बात करते हैं, और उनका मतलब 1024 * 8 बिट्स है। या 2 * 8 बिट्स।
बाइट्स कई उद्देश्यों के लिए कंप्यूटिंग की सार्वभौमिक इकाई की तरह हैं। यदि आप अन्य प्रोग्रामों द्वारा पढ़ी जाने वाली मानक फ़ाइल को संपादित करना चाहते हैं, तो आपको शायद इसे बाइट [] में लोड करने की आवश्यकता होगी और किसी बिंदु पर व्यक्तिगत बाइट्स में हेरफेर करना होगा।
यदि सूर्य में बाइट डेटाटाइप शामिल नहीं था, तो अन्य प्रोग्रामों से डेटा या टेक्स्ट के साथ काम करने वाले जावा प्रोग्राम लिखना बहुत बड़ा दर्द होता। आपको पूर्णांक लोड करना होगा, और अलग-अलग बिट्स को अलग करने के लिए शिफ्ट और ऑपरेशन करना होगा, और इंडेक्स को हर समय 4 से विभाजित करना होगा। मज़ा नहीं।
तो बाइट्स को वास्तव में स्मृति को बचाने के लिए जोड़ा नहीं गया था, लेकिन संगतता के लिए।
क्योंकि बाइट में 2 = 256 संभावित मानों में से एक हो सकता है, सूर्य ने फैसला किया है कि उन्हें 127 के माध्यम से -128 को इंगित करना चाहिए, बल्कि 0 से 255 तक, क्योंकि वे दोनों हस्ताक्षरित और हस्ताक्षरित होने से निपटना नहीं चाहते थे संख्याएं (उनके सभी डेटाटाइप पर हस्ताक्षर किए गए हैं, और जावा में सी/सी ++ जैसे हस्ताक्षरित कीवर्ड नहीं हैं)
उन्होंने दो पूरक का उपयोग किया क्योंकि यह नकारात्मक संख्याओं से निपटने का मानक तरीका है।
स्रोत
2009-12-31 22:40:35