1
我得到一個短期價值(可能僅限於UINT8
),並且想將其分配給UINT8
(/ unsigned char
)。
但我認爲沒有更好的選擇,但要做到這一點:給數組中的一個unsigned char分配一個short值的結果是什麼?
unlatch.FaultBits.Value[0] = ui->lineEditFaultBits->text().toShort();
但,這達到我想要的東西,當我使用unlatch.FaultBits.Value[0]
? (Vaule []是一個結構中的數組:UINT8 Value[64];
)
結果是您將整數的低8位分配給字符。 – 2013-03-23 02:04:59
不知道你擔心什麼,但我可以確認這不會破壞內存(不會改變Value [1])。在分配之前它將簡單地縮短值(取最低位字節)。 – Dave 2013-03-23 02:05:11
它不會「取最低位字節」。它將模256的值減小到[0,255]的範圍內。如果原始(帶符號)值以二進制補碼錶示,則這兩個操作僅相同。 – 2013-03-23 02:45:04