我乘以0x1d400 * 0xE070381D
。抓取一個8字節字的高4字節
當我這樣做對我的計算結果是0x00019A4D26950400
當我試圖在CPP實施這一這裏就是我有。
long long d;
d = 3765450781 * 1d400;
該代碼給出的結果是d = 0x26950400
。 這只是底部的4個字節,其他一切發生了什麼?
我想隔離上面的4個字節0x00019A4D
並將它們保存到另一個變量中。如何才能做到這一點?
如果我能得到的乘積來顯示所有8個字節我在想什麼做隔離上的4個字節的是:
d = d & 0xFF00; //0xFF00 == (binary) 1111111100000000
d = d>>8;
將這項工作?
您使用的是什麼操作系統和編譯器? – 2011-05-08 01:11:02
你想要16個字節還是8個字節?你的計算器結果顯示16個十六進制數字,它是8個字節,而不是16個。 – 2011-05-08 01:18:06
我認爲他想要8個字節,但是計算了16個數字。我編輯了相應的問題 – hirschhornsalz 2011-05-08 01:26:17