理解字节数组值

时间:2017-12-12 00:32:20

标签: c#

我有以下代码:

//this line makes sense...I always get 4 which is expected
int count = BitConverter.GetBytes(i).Length;

//This is the line that produces results I'm confused by
byte[] valArray = BitConverter.GetBytes(i);

所以这里有一些我设置i的数字以及我在字节数组中看到的结果。

  1.   

    X = 0
      0 0 0 0

    1.   

      X = 37
        37 0 0 0

      1.   

        X = 257
          1 1 0 0

        1.   

          X = 256
            0 1 0 0

          1.   

            X = 255
              255 0 0 0

          2. 样本3和4是真正抛弃我的。我不理解的是什么?

1 个答案:

答案 0 :(得分:4)

由于x86字节顺序,字节数组表示的值是

b0 + (b1 * 256) + (b2 * 256 * 256) + (b3 * 256 * 256 * 256)

所以#4是

0 + (1 * 256) + 0 + 0 = 256

#3留作读者练习