他们以任何方式将2个字节转换为signed int吗?我知道我们可以通过以下方式将一个字节转换为signed int
byte B1= 0xFF;
int r = Convert.ToSbyte((sbyte)B1);
Run Code Online (Sandbox Code Playgroud)
但签署int的2个字节呢?例如-260是0xFC,0xFE
假设第一个字节是msb:
byte b1 = 0xff;
byte b2 = 0xff;
var test = BitConverter.ToInt16(new byte[] { b1, b2 }, 0);
Run Code Online (Sandbox Code Playgroud)
除此以外:
byte b1 = 0xff;
byte b2 = 0xff;
var test = BitConverter.ToInt16(new byte[] { b2, b1 }, 0);
Run Code Online (Sandbox Code Playgroud)
编辑:"签名"
如果是一个字节,只需指定:
byte B1 = 0xFF;
int r = B1;
Run Code Online (Sandbox Code Playgroud)
在两个字节的情况下 - 添加shift和assign:
byte B1 = 0xFE;
byte B2 = 0xFC;
int r = (B1 << 8) | B2;
Run Code Online (Sandbox Code Playgroud)
如果Int16需要然后施放:
// -260
short s = unchecked((short) ((B1 << 8) | B2));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5862 次 |
| 最近记录: |