2010-03-29 11 views
7

हाय मुझे एक साधारण समस्या मिली है जो मुझे परेशान कर रही है और मुझे इसका समाधान मिल सकता है। मुझे एक सरणी मिली जिसमें हस्ताक्षर किए गए डेटा शामिल हैं, मुझे सरणी में प्रत्येक मान को 2 बाइट्स में परिवर्तित करने की आवश्यकता है। मैं सी # का उपयोग कर रहा हूं और मैंने बिटकोनवर्टर.गेटबाइट्स (int) का उपयोग करने की कोशिश की लेकिन यह 4 बाइट सरणी देता है।16-बिट हस्ताक्षरित int 2-बाइट्स में कनवर्ट करें?

कोई मदद? इसलिए BitConverter.GetBytes(short) का उपयोग करें -

धन्यवाद

उत्तर

15

एक हस्ताक्षरित 16-बिट मूल्य सबसे अच्छा एक short बजाय int के रूप में प्रस्तुत किया जाता है ट्रिस्टन।

हालांकि, एक विकल्प के रूप:

byte lowByte = (byte) (value & 0xff); 
byte highByte = (byte) ((value >> 8) & 0xff); 
संबंधित मुद्दे