#include
union T
{int i;
char c[2];
};
void main()
{ union T a;
a.i=0x00006162;
putchar(a.c[0]);
putchar(a.c[1]);
}
0x61是a,0x62是b
0x00006162这是什么表示方法?

c新手/0x00006162这是什么表示方法
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- threenewbee 2016-11-16 16:11关注
Intel的处理器是小端的,0x00006162在内存里其实是 0x62 0x61 0x00 0x00(把00 00 61 62反过来),所以a.c[0]输出b,a.c[1]输出a
0x开头的数字表示这个是16进制,一般用来表示字节很方便,因为正好2个字符是一个字节。
另外C语言还有0开头,表示八进制。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报