我正在阅读iPhone示例项目(Xcode IDE,Apple LLVM编译器4.2)的代码。在为iPhone样本项目的外部库(C语言编写)的头文件,有是在枚举类型中声明的一些事件:什么是十六进制表达式0x80000000在C语言的枚举声明中的含义

typedef enum _Application_Events

{

EVENT_EXIT = 0x80000000,

EVENT_TOUCH,

EVENT_DRAG,

EVENT_RELEASE_TOUCH,

EVENT_ROTATE_0,

EVENT_ROTATE_90,

EVENT_ROTATE_180,

EVENT_ROTATE_270

} Application_Events;

我不明白什么样的价值观被分配到这些事件。 0x80000000应该是一个很大的正整数(2147483648),或者是负零,或者是一个负整数(-2147483648)?

我在Xcode调试检查,与编译器是苹果LLVM编译器4.2中,EVENT_EXIT等于(int) -2147483648和EVENT_RELEASE_TOUCH等于(int) -2147483645等。

显然,他们在two's complement表示处理。相关帖子可以在here找到。

。但我不知道现在是这些:

(1)0x80000000的基本数据类型始终是int或在其他情况下,其他什么东西?这是依赖于编译器还是平台? (2)如果我将一个十六进制值赋给一个像这样的有符号整数,它是否总是被解释为二进制补码表示?这是依赖于编译器还是平台?相关文章可以在here找到。另可参考here。

请分享一些想法。谢谢大家:D

2013-04-23

Cong

+1

要回答后续问题:(1)它是平台相关的,每个其他答案都指向C规范。但它通常是一个整数。 (2)编译器会假设该数字是一个带符号的整数,除非通过转换或后缀指定类型。十六进制值本身既不是正数也不是负数,它们是位模式,因此如果设置了高位,则您的值将被视为负值,因此如果将其分配为带符号的类型,则该值为负值,但如果指定它变成一个无符号类型,它只会有你期望的自然价值。 –

2013-04-23 19:16:13

c语言里的负数用16进制表示什么,什么是十六进制表达式0x80000000在C语言的枚举声明中的含义...相关推荐

  1. c语言浮点数用16进制表示方法,浮点数用十六进制表示方式附C代码

    浮点数用十六进制表示:我这里遇到的问题是知道数值,但需要把数值发送到上位机里显示波形,但是上位机是以浮点数的存储格式来解析的,但是我的单片机不支持float类型,所以我的需求是把已知的数值看做是浮点数 ...

  2. c语言ascii码字符串转16进制,ASCII转16进制C语言

    满意答案 露露JJA 推荐于 2017.11.26 采纳率:59%    等级:7 已帮助:710人 以前引别人的,自己懒得再写了呵呵.原理就是这样的,你可以直接用的 //函 数 名:AscToHex ...

  3. c语言中ff用16进制怎么表示什么,0xff(十六进制0xff表示什么)

    0xff 从数值上看,0xff表示一个十六进制数FF,也就是十进制的255.从电平高低来看,比如读取P1口得到0xFF,表示P1口8个引脚都是高电平. 以0x开始的数据表示16进制,0xff换成十进制 ...

  4. java 转为负数,java怎么转换一个负数的16进制

    Java codeimport junit.framework.TestCase; public class Hex extends TestCase { public void testPositi ...

  5. c语言将十进制数转换为16进制的函数

    有3种方式实现,其中两种是使用系统函数,另一种是直接自己编写. 使用系统函数实现要加入#include <stdlib.h>,自己编写则不需要这个头文件. 下面的代码就是3种方式的实现,包 ...

  6. c语言16进制直接文本输出,c语言问题求助:将16进制文本转10进制并输出文本

    满意答案 #include #include #include #define MAX 50 //**********************读入数据函数*********************** ...

  7. C语言printf输出八进制以及16进制\域宽

    知识点1格式控制串 %o→八进制OCTAL %x→十六进制hex 知识点2修饰符 知识点3域宽→%#15o其中15就是表示15域宽 #→控制前导显示 例子: #include<stdio.h&g ...

  8. 计算机为什么要学16进制,为什么人们通常用十六进制而不是二进制写计算机

    人们通常用十六进制而不是二进制写计算机,因为十六进制写比二进制写更方便.数学上,十六进制是每一个十六进制的进位制,一般用数字0 ~ 9和字母A~F表示,其中"A ~ F"表示&qu ...

  9. 键盘字符16进制码表,字符八进制 十进制 十六进制 对照表

    转自:http://blog.csdn.net/lilgtoit/article/details/4965883 八进制  十六进制  十进制    字符       八进制    十六进制   十进 ...

最新文章

  1. unicode表_Python数据库操作 Mysql数据库表引擎与字符集#学习猿地
  2. 【BZOJ1146】【CTSC2008】网络管理 [整体二分]
  3. PCL点云库实现点云表面的法线与曲率计算并可视化
  4. linux计算机硬件信息,计算机linux查看硬件信息命令.doc
  5. HDU 2289 Cup
  6. 用c语言程序编写一份试卷,C语言程序设计试题
  7. Cortex M3 NVIC与中断控制
  8. mips linux gcc mingw,gcc
  9. Mybatis常用的OGNL表达式
  10. 华为路由设置虚拟服务器命令,华为路由器配置ip命令
  11. 【IDE】【WebStorm】html排版设置head和body缩进
  12. 按国家归类的海淘网站大全
  13. python基础篇:字符画生成~甜心教主
  14. 正则表达式,和python re模块
  15. 资源管理器整理计算机中的文件,如何整理电脑文件夹?
  16. 十个著名悖论的最终解答 (转载)
  17. S7-1200PLC求数组里数据最大值最小值FB块
  18. 封装R0805跟R0603贴片电阻有什么区别?
  19. mac 备份文件 太大 时间机器_Mac 时间机器 Time Machine 备份速度太慢的解决方法
  20. 海信linux系统信息,海信公交车数据采集系统   调试信息

热门文章

  1. 几种非易失性存储器的比较
  2. DedeCMS 织梦图片PPT办公软件网页素材下载类网站织梦模板(利于SEO优化)
  3. Java中的21种锁
  4. 能计算x的计算机软件,访问Mac OS X中的科学计算器程序员计算器 | MOS86
  5. 钻木取火完全攻略——不再是纸上谈兵…
  6. 【笔记】android录音权限遇到的问题和兼容8.0权限请求的方案
  7. 用python每天发朋友圈的人_每天都发朋友圈的人是什么心态?
  8. 【网安神器篇】——hydra爆破工具
  9. BZOJ 4424: Cf19E Fairy【强行树链剖分
  10. BP神经网络优化 | MATLAB基于飞蛾扑火算法优化BP神经网络(MFO-BP)的预测模型(完整代码在文末)