मैं जावा पर एक प्रक्रिया पोर्ट कर रहा हूँ। सी # और सी ++ में पहले से ही काम कर रहे संस्करण हैं।जावा में लंबे [64] से बाइट [512] कनवर्ट करना?
मेरे पास सी # में एक अनुभाग है जो मैं 64 उलंगों को 512 बाइट्स में परिवर्तित करने के लिए मार्शल.कॉपी (...) करता हूं और सी ++ में वह पंक्ति मैं उसी चीज़ को करने के लिए memmove (...) का उपयोग करता हूं। एक ही परिणाम प्राप्त करने के लिए जावा में क्या उपलब्ध है? मुझे उसी क्रम में एक ही द्विआधारी जानकारी की आवश्यकता है जैसे कि लंबे समय के बजाय बाइट्स।
संपादित करें:
कारण मैं जावा के लिए पोर्टिंग रहा हूँ पोर्टेबिलिटी स्वाभाविक रूप से है कि जावा का लाभ लेने के लिए है। मैं देशी कोड का उपयोग नहीं करना चाहूंगा।
एक और बात। चूंकि जावा में हस्ताक्षरित मान नहीं हैं, इसलिए मुझे केवल कुछ ही करने का अनुरोध करने की आवश्यकता है। मैं 64 लम्बाई (सी # और सी ++ में उल्लिखित) से 8 हस्ताक्षरित बाइट मान प्राप्त करना चाहता हूं ताकि मैं उन मानों को बाद में सरणी में इंडेक्स पर उपयोग कर सकूं। यह हजारों बार होने की जरूरत है ताकि सबसे तेज़ तरीका सबसे अच्छा तरीका होगा।
+1 आपको लूप की भी आवश्यकता नहीं है: bb.asLongBuffer()। Put (la); – wierob
धन्यवाद! आपका सुझाव पढ़ने और संभावित रूप से अधिक कुशल पढ़ने के लिए आसान है। http://java.sun.com/javase/6/docs/api/java/nio/ByteBuffer.html#views – trashgod