IIUC System.Decimal 表示是按以下順序排列的 32 位字陣列:
lo mid hi flags
從小端表示,到大端服務器上的 System.Decimal 接收者的序列化,是否有必要:
- 保留 lo mid 和 hi 順序
- 反轉每個 lo/mid/hi 整數中的位元組
- 保留標志整數位元組順序
我想這意味著使用GetBits來獲取單詞,將每個整數與第 4 個元素相反,然后重新組裝位元組以發送到服務器?
uj5u.com熱心網友回復:
構造Decimal(int[]) 函式被記錄為期望以特定順序排列的整數,
bits is a four-element long array of 32-bit signed integers.
bits [0], bits [1], and bits [2] contain the low, middle, and high 32 bits of the 96-bit integer number.
bits [3] contains the scale factor and sign
在 BigEndian 平臺上不會改變。
如果 Decimal 在記憶體中的布局不同,則在內部處理。
當然,如果您不使用協議緩沖區或 json 等標準框架,您可能需要將 Int32 轉換為 BigEndian。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/524199.html
標籤:C#。网
下一篇:加減法最多的專案的索引
