-1
我有一個稱爲內存的大字節數組和一個名爲valA
的uint64_t
值。我希望valA
中的每個字節都存儲在內存中的一個位置(內存中的每個位置保存一個字節)。在內存中的位置,我從開始是3832將8字節值的每個字節存儲在數組中
這是我到目前爲止編碼:
uint64_t valA = 81985529216486895;
memory[3832] = valA;
當我打印出內存中的每個位置:
printf("number in memory - %d%d%d%d%d%d%d%d",
memory[valE+0], memory[valE+1], memory[valE+2], memory[valE+3],
memory[valE+4], memory[valE+5], memory[valE+6], memory[valE+7]);
的輸出是「內存中的數字 - 2390000000」。我希望輸出是存儲在valA
中的原始數字。有什麼建議麼?
「內存」你的意思是「內存」,或者你的意思是一些任意數組稱爲內存? –
任意數組稱爲內存 –
一次輸出一個字節將不允許您在'valA'中重新生成十進制數。如果您將'valA'中的數字顯示爲十六進制,則可以將這些字節以十六進制打印出來,並可以重新創建原始數字。你沒有顯示'valA'中的數據在'memory'中的任何地方是可用的;你沒有顯示如何定義「內存」。目前,你的問題是無法回答的。 (請注意系統佈局如何更容易讀取'printf()'語句。)請閱讀如何創建MCVE([MCVE])。 –