2012-12-30 116 views
2

我有一個文件。我已經從偏移量05獲得了3個字節。那麼我怎樣才能將該字節[]轉換爲int24?或者,如果我將該數組轉換爲int32,然後將該int32轉換爲int24,它將工作?以及如何轉換?C#有沒有辦法將byte []/int32轉換爲int24?

+0

參見:HTTP:/ /stackoverflow.com/questions/17110567/converting-byte-array-to-int24/18195017#18195017 – Habib

回答

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); 

Are there any Int24 implementations in C#?

+0

我需要簽名int24.i只是知道int24是3個字節:D – user1926930

+0

@ user1926 930,但你不會找到一個類型Int24:D –

相關問題