智能车制作
标题:
int型不能为负
[打印本页]
作者:
曾超超
时间:
2016-3-19 10:55
标题:
int型不能为负
我用蓝宙的 摄像头例程,发现单片机无法识别小于o的数字,比如int k =-1;用串口发出来就成了255了;也不是-1,也不是int型的最大数,可一样的程序过几天就好了,有没有遇到的小伙伴;教教我啊
作者:
361369499
时间:
2016-3-19 11:01
也许你遇到量子力学导致的bug了
作者:
zhou1994
时间:
2016-3-19 12:17
串口一次还把int的最大数发出来了。我来学习学习
作者:
wjjjb
时间:
2016-3-19 21:25
串口好像只每次发送一个字节的数
作者:
暗光
时间:
2016-3-19 21:56
第一,串口一次发送一个字节的数,也就是char型的8位,而K60的int型是32位。应该改成char型的,多次发送,然后负数的存储形式是补码形式,-1的补码是绝对值|1|按位取反然后加一,也就是1111 1111 1111 1111 1111 1111 1111 1110 在加一,就是32个1了,然后发送时,你把这个变量传给串口发送函数,然后会把后8位发出去,也就是你的串口接收的是1111 1111,也就是255了。至于为什么一会好,一会不好,我就不知道了。看此贴了解负数
http://blog.csdn.net/youcharming/article/details/41982239
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2