Java中的LSBMSB处理

Java中的LSBMSB处理,第1张

Java中的LSB / MSB处理

这样做:

result[5] = (byte) (value & 0xFF);// Least significant "byte"result[6] = (byte) ((value & 0xFF00) >> 8);  // Most significant "byte"

我通常使用位掩码-也许不需要它们。第一行选择低八位,第二行选择高八位,然后将这些位右移八位。这等于被2 8除。


这是背后的“技巧”:

  (I) LSB  01010101 10101010        // Input& 00000000 11111111        // First mask, 0x00FF  -----------------  00000000 10101010        // Result - now cast to byte  (II) MSB  01010101 10101010        // Input& 11111111 00000000        // Second mask, 0xFF00  -----------------  01010101 00000000        // Result -   >>>>>>>>      // "Shift" operation, eight positions to the right  -----------------  00000000 01010101        // Result - now cast to byte

概括起来,请进行以下计算:

 byte msb = result[6]; byte lsb = result[5]; int result = (msb << 8) + lsb;    // Shift the MSB bits eight positions to the left.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5055410.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存