dataBUF_1[4]=49;
dataBUF_1[5]=50;
dataBUF_1[6]=51;
dataBUF_1[7]=52;
if(dataBUF_1[0]==0xfd)
{
if(dataBUF_1[1]==0x0b)
{
cunchushu=((dataBUF_1[4]-48)*1000)+ ((dataBUF_1[5]-48)*100)+(dataBUF_1[6]-48)*10+(dataBUF_1[7]-48);
}
}
//cunchushu=1234;
上面这段程序,打开屏蔽的最后一行正确,屏蔽最后一行出错,也就是说变量在计算的过程中变了数字。打开屏蔽的最后一行cunchushu是对的,怎么验证都对。这里倒底是变量变了还是公式问题?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
估计到后面*1000时就溢出了,可写成 (unsigned long)dataBUF_1
也就是强制类型转换。
一周热门 更多>