संरक्षण मैं जानता हूँ कि मैं इस तरह पूर्णांक से बाइट्स निकाल सकते हैं:पूर्णांक में श्रृंखलाबद्ध बाइट या कम संकेत
bytes[] IntToBytes(int i)
{
return new byte [] {(byte) ((i >> 8) & 0xff), (byte) (i & 0xff)};
}
जो मैं बाद में एक सीरियल संचरण के हिस्से के रूप में भेजें। लेकिन क्या मैं बाइट्स के अनुक्रम प्राप्त करने के बाद, मूल डेटा का पुनर्निर्माण, संकेत को संरक्षित करने के बाद रिवर्स कर सकता हूं। वर्तमान में, मैं यह करता हूं, लेकिन यह शीर्ष पर थोड़ा सा लगता है:
int BytesToInt(byte hi, byte lo)
{
return ((hi << 24) | (lo << 16)) >> 16;
}
क्या कोई और तरीका या बेहतर तरीका है? अगर मुझे पता है कि मैं आखिरकार हस्ताक्षरित 16-बिट डेटा से निपट रहा हूं तो क्या इससे कोई फर्क पड़ता है?
क्या यह आपके प्रश्न का उत्तर देता है? http://stackoverflow.com/questions/2538390/convert-16-bit-signed-int-to-2-bytes –
@josh बिटकॉन्टर आदर्श दिखता है, एंडियन परीक्षण पास करने के अधीन। – Graham
'(int) बिटकॉन्टर.ओआईएनटी 16 (नया [] {लो, हाय}, 0);' – Sinatr