【发布时间】:2015-02-05 18:45:30
【问题描述】:
我很难尝试执行从整数到字节数组的简单转换。
我觉得这一定很简单,甚至是微不足道的,但无法得到它(所以如果有人知道这个操作的正确“名称”,请告诉我)。另外,我找不到更好的问题标题,但我觉得它有点含糊(请随意编辑)。
我想要什么:
byte[] result = MagicConverter.Convert(336);
// now result should be {0, 0, 1, 80}
转换336的结果应该是1, 80,因为这是以256为底的分解,即1*256 + 80 = 336。
我的代码库包含许多用于执行类似任务的移位内容,但我认为我还不太了解这种移位内容。
【问题讨论】:
-
1*256+80 = 336,不是 366
-
附注,如果您打算使用它与其他应用程序通信字节数组,您可能需要研究Endianness。不同的平台将以不同的顺序存储整数的字节,并且该顺序在互操作时很重要。
-
@Matt 你是对的,这是一个错字!
-
@DanBryant 你是对的!很可能我的设备使用 BigEndian,因为我需要根据接受的答案颠倒顺序。