#include <iostream>
using namespace std;
using namespace std;
int main()
{
int i = 1;
char *a = (char*)&i;
for(int j=0;j<=3;j++)
{
cout<<(int)*(a+j)<<endl;
}
return 0;
}
{
int i = 1;
char *a = (char*)&i;
for(int j=0;j<=3;j++)
{
cout<<(int)*(a+j)<<endl;
}
return 0;
}
1。char 1 int 4
2。需要强制类型转换 char *a = (char*)&i;
3。读 int 的第 j 字节是用*(a+j) 而不是*(a+j*8)
4。输出时需要强制类型转换(int)*(a+j)
程序不是我写的。
0001
little : 01 00
big : 00 01
当然 也有其他方法
union a{
char ch;
int in;}
a.in = 1;
cout << a.ch; //if 1, little, otherwise ,big