PKnotnull 2016-11-16 10:12 采纳率: 100%
浏览 1091
已采纳

c新手/0x00006162这是什么表示方法

#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这是什么表示方法?

  • 写回答

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开头,表示八进制。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?