李国帅 取自日志 2007-9-12 15:36
这是按照机器代码的存取,是小字节在前的顺序。
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>
#include <conio.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int i = 0x1234abcd;
char c = (char)i; //cd
cout << i << endl;//10进制
cout.unsetf(ios_base::dec);
cout.setf(ios_base::hex);
cout << i << endl;//16进制
unsigned char* pc = (unsigned char*)&i;//把i的地址变成一个指向char*的指针
cout << (int)*pc << " " << (int)*(pc + 1) << " " << (int)*(pc + 2) << " " << (int)*(pc + 3) << " " << endl;
cout.setf(ios_base::dec);
cout << i << endl;//10进制
cout.setf(ios_base::hex, ios_base::dec);
cout << i << endl;//16进制
getchar();
return 0;
}
/*
* pc 0xcd char
*(pc+1) 0xab char
*(pc+2) 0x34 '4' char
*(pc+3) 0x12 '?' char
- &i 0x0013fed4 int *
0x1234abcd int
*/