我乘以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