[讨论] CCS中char和int默认是无符号的是吗?

木木木JS   2015-4-17 22:12 楼主
CCS中char和int默认是无符号的是吗?

回复评论 (6)

2推荐 bobde163 

我找到这设置项所在的地方了,右键单击工程,进入“Propertise"选项,Build选项下的Advanced Options下的Rumtime Model Options 里的最后一栏就是选择使用char类型还是unsigned char类型来替代代码中char类型

捕获.JPG
点赞  2015-4-17 23:57
默认应该是有符号的,unsigned int 和 unsigned char 才是无符号的
点赞  2015-4-17 22:13
引用: bobde163 发表于 2015-4-17 22:13
默认应该是有符号的,unsigned int 和 unsigned char 才是无符号的

原先我也是这么认为的,但是今天写程序碰到一个问题。

我定义了了一个char count;

当我在条件语句里面:if(count==-1)

编译后就会有警告说无符号的变量赋负值是没有意义的,要实现的功能也一直有问题。

知道我改为signed char才正确。
点赞  2015-4-17 22:51
引用: 木木木JS 发表于 2015-4-17 22:51
原先我也是这么认为的,但是今天写程序碰到一个问题。

我定义了了一个char count;

当我在条件语句里面:if(count==-1)

编译后就会有警告说无符号的变量赋负值是没有意义的,要实现的功能也一直有问题。

知道我改为signed char才正确。

我去查看了CCS编译器对于数据类型的定义,发现CCS默认char为无符号类型,我之前说错了,文档里说可能通过设置项改变这个对应的类型,但是我没有找到在哪里可以修改
捕获.JPG
点赞  2015-4-17 23:45
引用: bobde163 发表于 2015-4-17 23:57
我找到这设置项所在的地方了,右键单击工程,进入“Propertise"选项,Build选项下的Advanced Options下的Rumtime Model Options 里的最后一栏就是选择使用char类型还是unsigned char类型来替代代码中char类型

给力哦
点赞  2015-4-18 13:43

我有试过,修改默认值只能针对当前工程有效,对于其他没有修改过的工程,还是默认值
点赞  2015-4-18 17:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复