【问题标题】:How does converting an integer to a byte array work in C#在 C# 中如何将整数转换为字节数组
【发布时间】:2020-03-19 12:26:18
【问题描述】:

我知道字节和位以及计算机如何使用以 2 为底的(二进制)数字系统。

然而,我很难理解 32 位(4 字节)整数如何在字节数组中表示。

    int exampleInt = 270;

    byte[] intBytes = BitConverter.GetBytes(exampleInt);
    // intBytes = [14, 1, 0, 0]

14 和 1 代表什么?我知道一个字节可以在 0 到 255 之间。

非常感谢这些数字和 4 个字节的细分。

【问题讨论】:

    标签: c# math binary


    【解决方案1】:

    如您所知,二进制中的 270 是 100001110。如果我们添加一些 0 使其成为 32 位,它看起来像这样:

    00000000 00000000 00000001 00001110
    

    为了清楚起见,我将这些位分组为字节。 00001110 是二进制的 14,00000001 是二进制的 1。并且因为系统使用的endian 很少,所以最低有效字节 - 14 - 先出现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      相关资源
      最近更新 更多