求助:简单的问题搞不明白了
最简单的乘法算不对结果了RRRR=5000 * 1000;
lcd.setCursor(0, 3);
lcd.print(RRRR);
Serial.println(RRRR);
结果为19264
cityant 发表于 2019-6-4 11:07
可以这样用:
RRRR=5000L * 1000;
谢谢指点,查了一下,是这样解释的,不会的一起学习一下
U & L 格式
默认情况下,整型常量被视作int型。要将整型常量转换为其他类型时,请遵循以下规则:
'u' or 'U' 指定一个常量为无符号型。(只能表示正数和0) 例如: 33u
'l' or 'L' 指定一个常量为长整型。(表示数的范围更广) 例如: 100000L
'ul' or 'UL' 这个你懂的,就是上面两种类型,称作无符号长整型。 例如:32767ul 数据大于32767,数据溢出 本帖最后由 xiaoxiao112 于 2019-6-3 19:45 编辑
GeGeBoom 发表于 2019-6-3 08:52
数据大于32767,数据溢出
谢谢回复, RRRR我是这样定义的unsigned long RRRR; 按说不应该溢出的,实际溢出值应该是-32767估计编译时把RRRR作为INT编译了 xiaoxiao112 发表于 2019-6-3 19:44
谢谢回复, RRRR我是这样定义的unsigned long RRRR; 按说不应该溢出的,实际溢出值应该是-32767 ...
可以这样用:
RRRR=5000L * 1000;
lcd.setCursor(0, 3);
lcd.print(RRRR);
Serial.println(RRRR);
页:
[1]