मेरे पास एक बाइट सरणी है जहां सरणी में डेटा वास्तव में छोटा डेटा है। बाइट्स थोड़ा endian में आदेश दिया जाता है:छोटे मूल्यों में छोटे अंतराल क्रम में बाइट सरणी मानों को कनवर्ट करना
3, 1, -48, 0, -15, 0, 36, 1
कौन सा जब में कम मूल्यों परिणाम में बदला:
259, 208, 241, 2 9 2
क्या बाइट मानों को उनके संबंधित लघु मानों में परिवर्तित करने के लिए जावा में कोई आसान तरीका है? मैं एक लूप लिख सकता हूं जो केवल हर उच्च बाइट लेता है और इसे 8 बिट्स द्वारा स्थानांतरित करता है और या इसके कम बाइट के साथ इसे बदलता है, लेकिन इसका प्रदर्शन हिट होता है।
आप दे दिया है 8 बाइट्स, और फिर 4 लम्बे ... जबकि 8 बाइट्स केवल एक * एकल * लंबे मूल्य में परिणाम होना चाहिए। इसके अतिरिक्त, आपने जो कहा वह आपने नहीं कहा है। असल में आपका प्रश्न इस समय बहुत अस्पष्ट है ... –
नहीं, यह अस्पष्ट नहीं है। आपके पास बाइट सरणी से डेटा है और यह क्या बदलता है। उससे ज्यादा स्पष्ट नहीं हो सकता है। – AndroidDev
हां, यह कर सकता है। क्योंकि ऐसा लगता है कि आप वास्तव में * शॉर्ट' में परिवर्तित हो रहे हैं, न कि 'लंबा' ... और आपने यह नहीं कहा है कि आप क्या उम्मीद कर रहे हैं * परिणाम। इस सवाल को किसी भी स्पष्ट न करने के लिए स्वतंत्र महसूस करें - लेकिन याद रखें कि आप मदद की तलाश में हैं, और आपका प्रश्न जितना बेहतर होगा, उतना ही बेहतर होगा कि मदद की संभावना है। –