智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3250|回复: 13
打印 上一主题 下一主题

编写代码时遇到这个问题,麻烦大家看看提提意见

[复制链接]

8

主题

54

帖子

0

精华

高级会员

Rank: 4

积分
503
威望
289
贡献
134
兑换币
0
注册时间
2012-7-23
在线时间
40 小时
跳转到指定楼层
1#
发表于 2012-7-29 14:27:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个warning提示是什么意思,如何解决呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

8

主题

143

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2284
威望
1122
贡献
572
兑换币
23
注册时间
2011-10-13
在线时间
295 小时
2#
发表于 2012-7-29 14:39:35 | 只看该作者
没进行类型转换直接赋值就会这样。加个强制类型转换就好了,一般情况不会有问题。
回复 支持 反对

使用道具 举报

30

主题

461

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6158

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
4094
贡献
308
兑换币
589
注册时间
2012-1-5
在线时间
878 小时
3#
发表于 2012-7-29 15:53:57 | 只看该作者
强制转换
回复 支持 反对

使用道具 举报

8

主题

54

帖子

0

精华

高级会员

Rank: 4

积分
503
威望
289
贡献
134
兑换币
0
注册时间
2012-7-23
在线时间
40 小时
4#
 楼主| 发表于 2012-7-29 19:54:43 | 只看该作者
raysmile 发表于 2012-7-29 14:39
没进行类型转换直接赋值就会这样。加个强制类型转换就好了,一般情况不会有问题。

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

使用道具 举报

8

主题

54

帖子

0

精华

高级会员

Rank: 4

积分
503
威望
289
贡献
134
兑换币
0
注册时间
2012-7-23
在线时间
40 小时
5#
 楼主| 发表于 2012-7-29 19:54:53 | 只看该作者
yanxi10 发表于 2012-7-29 15:53
强制转换

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

回复 支持 反对

使用道具 举报

8

主题

143

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2284
威望
1122
贡献
572
兑换币
23
注册时间
2011-10-13
在线时间
295 小时
6#
发表于 2012-7-29 20:02:30 | 只看该作者
Yocher 发表于 2012-7-29 19:54
恩,谢谢你的回答,不过posit是unsigned char型,而调用的函数里的变量也是unsigned char型,难道是~(1

unsigned char 确实是按int型进行运算的
回复 支持 反对

使用道具 举报

8

主题

54

帖子

0

精华

高级会员

Rank: 4

积分
503
威望
289
贡献
134
兑换币
0
注册时间
2012-7-23
在线时间
40 小时
7#
 楼主| 发表于 2012-7-29 22:39:05 | 只看该作者
raysmile 发表于 2012-7-29 20:02
unsigned char 确实是按int型进行运算的

这样呀,unsigned char应该是8位数据吧,int是多少位的呢
回复 支持 反对

使用道具 举报

8

主题

143

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2284
威望
1122
贡献
572
兑换币
23
注册时间
2011-10-13
在线时间
295 小时
8#
发表于 2012-7-29 23:16:25 | 只看该作者
Yocher 发表于 2012-7-29 22:39
这样呀,unsigned char应该是8位数据吧,int是多少位的呢

16位机里int是16位(short),在32位机里就是32位(long)了。。。
回复 支持 反对

使用道具 举报

8

主题

54

帖子

0

精华

高级会员

Rank: 4

积分
503
威望
289
贡献
134
兑换币
0
注册时间
2012-7-23
在线时间
40 小时
9#
 楼主| 发表于 2012-7-29 23:18:12 | 只看该作者
raysmile 发表于 2012-7-29 23:16
16位机里int是16位(short),在32位机里就是32位(long)了。。。

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

使用道具 举报

8

主题

143

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2284
威望
1122
贡献
572
兑换币
23
注册时间
2011-10-13
在线时间
295 小时
10#
发表于 2012-7-29 23:20:58 | 只看该作者
Yocher 发表于 2012-7-29 23:18
哦,也就是说,对于现在用的16位机unsigned char是8位数据,unsigned int是16位数据对吗?

对头
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-20 07:47 , Processed in 0.050078 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表