我已阅读手册:
对于面向比特的传送,位 字节流格式的顺序是 指定以MSB开头 第一个字节,进入LSB 第一个字节,后跟MSB 第二个字节等。
在我的申请中,我必须应付比特。 (例如,我有十进制数字5,二进制格式,它看起来像00000101) 那么,这意味着(根据手册)我读取的位顺序是
<= 0 <= 0 <= 0 <= 0 <= 0 <= 1 <= 0 <= 1 (first read bit I read is 0, second is 0 etc....)
或者它意味着读取位的顺序:
<= 1 <= 0 <= 1 <= 0 <= 0 <= 0 <= 0 <= 0 (first read bit I read is 1, second is 0 etc....)
由于
答案 0 :(得分:2)
因此对于5(0000_0101)左边的位(代表2 7 )是“最重要的”而右边的位(代表2 0 )是“最不重要”。因此,是的,期望0成为第一位。
答案 1 :(得分:1)
在Java中,读取和写入字节流的默认方法将自动默认为网络字节顺序,因此您可能不错。
答案 2 :(得分:1)
如果流中的第一个字节为0x7D,0x01
,则比特流开始为0,1,1,1,1,1,0,1,0,0,0,0,0,0,0,1
。
答案 3 :(得分:1)
字节顺序主要称为字节顺序。你有big-endian系统和little-endian系统。
Big endian你首先拥有最高位,而在Little Endian中,最重要的位是第一位。
大多数网络流量都是大端。 X86机器总是小端的。
Here是关于endian-ness的更多信息