当前位置:  编程技术>c/c++/嵌入式

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

    来源: 互联网  发布时间:2014-10-16

    本文导语:  在C、C++中可以用32位int型变量表示单引号括起来的四个字符,例如下面代码中的示例: 代码如下: // 字符c的16进制值是0x63,字符o的16进制值是0x6f, // 字符n的16进制值是0x6e int what = 'conn'; printf("The address of what is 0x%x n", &what);...

在C、C++中可以用32位int型变量表示单引号括起来的四个字符,例如下面代码中的示例:
代码如下:

 // 字符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存在最高位。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问怎么实现判断TextField里输入的是int型整数还是字符串,或者其他的字符??
  • 有哪个函数能把字符串转化成 int?
  • [有点菜]怎么把int型转换成字符串型?
  • 字符串型的12345怎么转化成整形int
  • in c 如何将int型转化为字符串
  • 请问java中什么方法判断一个字符串是否能被转换成int或float?
  • C#中把字符串String转换为整型Int的小例子
  • 请问如何判断一个字符串是否数字,还有如何把int转换成string!!!高分请教!!!
  • 请问在javabean,java和jsp代码中如何判断一个字符串是否数字,还有如何把string转换成int!!!高分请教!!!
  • java命名空间javax.lang.model.type枚举typekind的类成员方法: int定义及介绍
  • 这个构造函数new String(byte[],int,int,int)怎麽用?谢谢!
  • java命名空间java.awt.image类databuffer的类成员方法: type_int定义及介绍
  • 我是初学者,问一个比较傻的问题:既然JAVA是一种纯面向对象的语言,那么为什么int i=new int()或int i=new int(1)不能通过编译?谢谢。
  • java命名空间java.awt.image类bufferedimage的类成员方法: type_int_argb_pre定义及介绍
  • void(*signal(int signo,void(*func)(int)))(int)又有问题了
  • java命名空间java.awt.image类bufferedimage的类成员方法: type_int_rgb定义及介绍
  • 在纯C当中是否支持多态,例如int abc(int a);int abc(char b);系统会根据不同的参数类型,调用不同的函数
  • java命名空间java.awt.image类bufferedimage的类成员方法: type_int_argb定义及介绍
  • invalid conversion from `int (*)(int)' to `void (*)(int)',这个怎么转换
  • java命名空间java.awt.image类bufferedimage的类成员方法: type_int_bgr定义及介绍
  • void(*signal(int signo,void(*func)(int)))(int)
  • 怎么确定 socket(int domain, int type, int protocol) 三个参数?
  • 请问一下,有谁知道linux源代码中socket(int domain, int type, int protocol);函数的定义是在哪个文件中啊?小弟我找了很久,都没找到,谢谢哈。
  • c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的区别详解
  • 无法从 int? 转换为 int 运行时出现错误
  • Integer test(Integer i)=Int test(Int i) ??
  • 比如一个"123456" 如何转化成 int类型然后和int型比较
  • int/int,如何得到小数,菜问题:)
  • 在jsp中<%! int i = 1 %>与<% int i = 1 %>2个声明有什么区别
  • 内核代码中的: int reboot(int flag) 这个函数在哪里?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3