2011-10-28 17 views
7

के रूप में पढ़ें, मुझे 16 बिट्स की एक बाइट सरणी को बिना हस्ताक्षरित शॉर्ट नंबर के रूप में पढ़ने की आवश्यकता है, और जावा बिना हस्ताक्षरित शॉर्ट प्रकार का समर्थन नहीं करता है।
तो मैं यह कैसे कर सकता हूं ?? कृपया सहायता कीजिए!!बाइट [] को बिना हस्ताक्षरित लघु जावा

+0

16 बिट्स की एक बाइट सरणी पर एक नज़र हो सकता है? तो यह लंबाई 2 की सरणी है? –

+0

मुझे लगता है कि आप कनवर्ट करना मतलब है, पढ़ा नहीं है, है ना? तो, दो बाइट्स को एक पूर्णांक मान में परिवर्तित करें? चाल यह है कि आपको इसे 'int' के रूप में स्टोर करने की आवश्यकता होगी, न कि 'छोटा'। – 101100

+0

'char' डेटाटाइप अनिवार्य रूप से एक हस्ताक्षरित 'छोटा' है। लेकिन सबसे आम तकनीक 'int' का उपयोग करना है। – corsiKa

उत्तर

9

देता है इस लेख पर एक नजर डालें मान लें कि आप यह है कि आप पढ़ सकते हैं और जावा में मूल्यों के साथ काम करना चाहिए एक गैर जावा स्रोत से बाइनरी डेटा के रूप में उपलब्ध है: के रूप में यह पढ़ें एक (हस्ताक्षरित) short, और फिर इसे int में बदलने का इस प्रकार है:

int intVal = shortVal >= 0 ? shortVal : 0x10000 + shortVal 

आपको थोड़ी देर में एक अहस्ताक्षरित कम के सभी मूल्यों का प्रतिनिधित्व नहीं कर सकते, लेकिन एक पूर्णांक में, आप कर सकते हैं।

4

मुझे नहीं पता कि आपको एक हस्ताक्षरित शॉर्ट का उपयोग करना है, लेकिन यदि आप नहीं करते हैं, तो आप हमेशा एक हस्ताक्षरित शॉर्ट रखने के लिए एक char का उपयोग कर सकते हैं। कि एक साधारण सिंहावलोकन

http://darksleep.com/player/JavaAndUnsignedTypes.html

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