智能车制作

标题: 编写代码时遇到这个问题,麻烦大家看看提提意见 [打印本页]

作者: Yocher    时间: 2012-7-29 14:27
标题: 编写代码时遇到这个问题,麻烦大家看看提提意见
这个warning提示是什么意思,如何解决呢

作者: raysmile    时间: 2012-7-29 14:39
没进行类型转换直接赋值就会这样。加个强制类型转换就好了,一般情况不会有问题。
作者: yanxi10    时间: 2012-7-29 15:53
强制转换
作者: Yocher    时间: 2012-7-29 19:54
raysmile 发表于 2012-7-29 14:39
没进行类型转换直接赋值就会这样。加个强制类型转换就好了,一般情况不会有问题。

恩,谢谢你的回答,不过posit是unsigned char型,而调用的函数里的变量也是unsigned char型,难道是~(1<<posit)这个式子计算后变成了int型吗?是这么理解吗?主要是如果我添加一个unsigned char型的变量k,k = ~(1<<posit),然后把k赋给调用的函数,也会一样出现这个warning,这个又怎么解释呢?

作者: Yocher    时间: 2012-7-29 19:54
yanxi10 发表于 2012-7-29 15:53
强制转换

恩,谢谢你的回答,不过posit是unsigned char型,而调用的函数里的变量也是unsigned char型,难道是~(1<<posit)这个式子计算后变成了int型吗?是这么理解吗?主要是如果我添加一个unsigned char型的变量k,k = ~(1<<posit),然后把k赋给调用的函数,也会一样出现这个warning,这个又怎么解释呢?


作者: raysmile    时间: 2012-7-29 20:02
Yocher 发表于 2012-7-29 19:54
恩,谢谢你的回答,不过posit是unsigned char型,而调用的函数里的变量也是unsigned char型,难道是~(1

unsigned char 确实是按int型进行运算的

作者: Yocher    时间: 2012-7-29 22:39
raysmile 发表于 2012-7-29 20:02
unsigned char 确实是按int型进行运算的

这样呀,unsigned char应该是8位数据吧,int是多少位的呢

作者: raysmile    时间: 2012-7-29 23:16
Yocher 发表于 2012-7-29 22:39
这样呀,unsigned char应该是8位数据吧,int是多少位的呢

16位机里int是16位(short),在32位机里就是32位(long)了。。。

作者: Yocher    时间: 2012-7-29 23:18
raysmile 发表于 2012-7-29 23:16
16位机里int是16位(short),在32位机里就是32位(long)了。。。

哦,也就是说,对于现在用的16位机unsigned char是8位数据,unsigned int是16位数据对吗?

作者: raysmile    时间: 2012-7-29 23:20
Yocher 发表于 2012-7-29 23:18
哦,也就是说,对于现在用的16位机unsigned char是8位数据,unsigned int是16位数据对吗?

对头

作者: Yocher    时间: 2012-7-30 10:08
raysmile 发表于 2012-7-29 23:20
对头

那对于32位机,unsigned char是8位,unsigned int 是32位?
那对于8位机,unsigned char是8位,unsigned int也是8位?

作者: raysmile    时间: 2012-7-30 10:11
Yocher 发表于 2012-7-30 10:08
那对于32位机,unsigned char是8位,unsigned int 是32位?
那对于8位机,unsigned char是8位,unsigned ...

8位机和16位机的定义应该是一样的吧。。。

作者: Yocher    时间: 2012-7-30 11:45
raysmile 发表于 2012-7-30 10:11
8位机和16位机的定义应该是一样的吧。。。

http://www.znczz.com/thread-105112-1-1.html
谢谢,方便的话看看这个帖子哈

作者: rubick    时间: 2012-7-30 16:24
raysmile 发表于 2012-7-30 10:11
8位机和16位机的定义应该是一样的吧。。。

不一样,int就是变的。





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2