我有一个档案。我已经从偏移量05中读取了3个字节。那么如何将该byte []转换为int24?或者,如果我将该数组转换为int32然后将该int32转换为int24,它会工作吗?以及如何转换?
答案 0 :(得分:1)
不直接支持Int24,但是有一个类似的问题描述了如何实现您的需求:
public struct UInt24 {
private Byte _b0;
private Byte _b1;
private Byte _b2;
public UInt24(UInt32 value) {
_b0 = (byte)(value & 0xFF);
_b1 = (byte)(value >> 8);
_b2 = (byte)(value >> 16);
}
public unsafe Byte* Byte0 { get { return &_b0; } }
public UInt32 Value { get { return _b0 | ( _b1 << 8 ) | ( _b2 << 16 ); } }
}
UInt24 uint24 = new UInt24( 123 );