如果我的问题不够明确,我会提前道歉,我没有很多c#的经验,我遇到了一个奇怪的问题.我试图将一个int转换为两个字节的数组(例如:取2210并获取:0x08,0xA2),但我得到的只是:0x00,0xA2,我无法弄清楚为什么.非常感谢任何建议.(我已经尝试阅读有关此事的其他问题,但找不到有用的答案)
我的代码:
profile_number = GetProfileName(); // it gets the int
profile_num[0] = (byte) ((profile_number & 0xFF00));
profile_num[1] = (byte) ((profile_number & 0x00FF));
profile_checksum = CalcProfileChecksum();
Run Code Online (Sandbox Code Playgroud)
//注意:我指的是一个2字节的数组,所以关于4字节数组的问题的答案对我没有帮助.
你需要改变第一个字节:
//profile_num[0] = (byte) ((profile_number & 0xFF00));
profile_num[0] = (byte) ((profile_number & 0xFF00) >> 8);
profile_num[1] = (byte) ((profile_number & 0x00FF));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
894 次 |
| 最近记录: |