求助:关于KEIL中int型的取值范围是多少?(已解决)

2020-02-21 21:10发布

本帖最后由 wangpengcheng 于 2014-6-29 16:23 编辑

我目前遇到的问题是:在MQX中,读取文件的时候,用_mqx_int _io_fseek( MQX_FILE_PTR file_ptr,  _file_offset  offset,   _mqx_uint  mode)函数来定位,但是我看了一下MQX中 _file_offset 的定义是int型的,我的理解是从-65535到+65535,所以当我文件超过64K的时候,问题就来了,我写不进去了,因为offset变成负数了!

看看哪位高手对此有什么见解?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
39条回答
jiang887786
1楼-- · 2020-02-22 23:09
过来学习的,int一般最高位要占用一位的吧。
wangpengcheng
2楼-- · 2020-02-23 05:02
songjie 发表于 2014-7-3 12:28
用  sizeof 可以判断int吧~

sizeof只能判断它占用多少个byte空间!
wangpengcheng
3楼-- · 2020-02-23 06:46
jiang887786 发表于 2014-9-3 11:23
过来学习的,int一般最高位要占用一位的吧。

是的,只是最高位被作为正负号用!
浪里白条
4楼-- · 2020-02-23 10:55
 精彩回答 2  元偷偷看……
wangpengcheng
5楼-- · 2020-02-23 15:02
浪里白条 发表于 2014-9-3 11:27
有符号数在C语言里不是用的补码的形式?

好像是!记忆模糊!
浪里白条
6楼-- · 2020-02-23 20:37
wangpengcheng 发表于 2014-9-3 11:29
好像是!记忆模糊!

如果是补码的话,就不是以最高位做符号位了。

一周热门 更多>