1
我从一个有符号的字节数组开始,并将其转换为无符号..那么打印的结果是否正确?C#字节数组 - 有符号和无符号两难
byte[] unsigned = new byte[] {10,100,120,180,200,220,240};
sbyte[] signed = Utils.toSignedByteArray(unsigned);
和打印(我只是一个StringBuilder追加他们):
签署:10100120,-76,-56,-36,-16]
无符号:10,100,120,180,200,220,240]
其中:
public static sbyte[] toSignedByteArray(byte[] unsigned){
sbyte[] signed = new sbyte[unsigned.Length];
Buffer.BlockCopy(unsigned, 0, signed, 0, unsigned.Length);
return signed;
}
如果我改变这个,我得到了相同的结果。
sbyte[] signed = (sbyte[])(Array)unsigned;
不应-128(签字)成为0,-118成为10,等等..而不是10(符号)= 10(无符号)!?
由于
为sbyte -128至127
字节0到255
所以??