源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

用32位int型变量表示单引号括起来的四个字符的深入探讨

  • 时间:2022-03-03 22:45 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:用32位int型变量表示单引号括起来的四个字符的深入探讨
在C、C++中可以用32位int型变量表示单引号括起来的四个字符,例如下面代码中的示例:
[u]复制代码[/u] 代码如下:
 // 字符c的16进制值是0x63,字符o的16进制值是0x6f,  // 字符n的16进制值是0x6e  int what = 'conn';  printf("The address of what is 0x%x \n", &what);  printf("what 0x%x \n", what);  if (what == 0x636f6e6e) {   printf("what is 0x636f6e6e \n");  }  char *p = "conn";  printf("p points to [%s] \n", p);  while (*p != 0) {      printf("%x", *p);      p++;  }
运行结果如下: The address of what is 0x12ff60 what 0x636f6e6e what is 0x636f6e6e p points to [conn] 636f6e6e 也就是说字符'conn'的值用16进制表示就是0x636f6e6e,两者是等价的。 在Android的framework层用到了这种方法来表示message的值。 其中'conn'的存储方式是小端存储。 即:小端:较高的有效字节存放在较高的的存储器地址,较低的有效字节存放在较低的存储器地址可以直接查看内存中'conn'的存储方式是小端存储, 地址从低到高依次是:0x12ff60,0x12ff61,0x12ff62,0x12ff63。 存储的字符依次是:n, n, o, c 最后一个n存在最低位,c存在最高位。 [img]http://files.jb51.net/file_images/article/201305/201305271711184.png[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部