从内存读出一个四字节的数据,具体如下:
地址 数据(16进制)
----------------
0x187B1BE e
0x187B1BF 32
0x187B1C1 1
0x187B1C2 0
这个数据的十进制是78350,但是我把这几个地址的数据合起来,不是78350``,把这些地址的数据整合起来的数据应该是0 1 32 e,然后再把他们转成10进制,10000000(1) 110010(32) 1110(e),加起来是100000001100101110,但这样得出来的数是131886,而原数的二进制是10011001000001110,想了很久都不知道为什么```请指教啊```
地址 数据(16进制)
----------------
0x187B1BE e
0x187B1BF 32
0x187B1C1 1
0x187B1C2 0
这个数据的十进制是78350,但是我把这几个地址的数据合起来,不是78350``,把这些地址的数据整合起来的数据应该是0 1 32 e,然后再把他们转成10进制,10000000(1) 110010(32) 1110(e),加起来是100000001100101110,但这样得出来的数是131886,而原数的二进制是10011001000001110,想了很久都不知道为什么```请指教啊```
#include "windows.h"using namespace std;
void main()
{
UINT p;
p = 0x0;
p = p << 8 | 0x01;
p = p << 8 | 0x32;
p = p << 8 | 0x0e;
cout << p << endl;
}
这里结果就是 78350
DWORD I0,I1,I2,I3;
I0=0,I1=1,I2=32,I3=14;
I0<<12|i1<<8|i2<<4|i3
0x187B1BF 32
0x187B1C1 1
0x187B1C2 0
那么0x187b1c0在哪里啊?