赋值一个数,结果不等于那个数,毁我三观

2020-01-18 18:47发布

最简单的代码 居然会这样,求解为什么?
编译环境 C51v952

QQ截图20160108190305.png (65.34 KB, 下载次数: 0) 下载附件 2016-1-8 19:03 上传

EEPROM单字节操作例程.rar (23.61 KB, 下载次数: 11) 2016-1-8 19:03 上传 点击文件名下载附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
40条回答
xuyapple
1楼-- · 2020-01-19 11:11
Squall001 发表于 2016-1-8 19:38
我是定义的int  int是两个字节

<<8后数据已经溢出了。。。
vampirejing
2楼-- · 2020-01-19 11:50
xuyapple 发表于 2016-1-8 19:53

不可能溢出吧,是2byte,,我用我的项目工程试了得256000,

楼主可以把那个变量定义放在main()之前定义,试试呗,这会不会与编译环境有关呀??
xuyapple
3楼-- · 2020-01-19 12:24
vampirejing 发表于 2016-1-8 19:58
不可能溢出吧,是2byte,,我用我的项目工程试了得256000,

楼主可以把那个变量定义放在main()之前定义 ...

256000是0x3E800~
jswd0810
4楼-- · 2020-01-19 15:05
 精彩回答 2  元偷偷看……
vampirejing
5楼-- · 2020-01-19 16:06
xuyapple 发表于 2016-1-8 20:04
256000是0x3E800~

是溢出了,我错了,1000左移大概6位就直接溢出了
qq开始学单片机
6楼-- · 2020-01-19 16:48
vampirejing 发表于 2016-1-8 20:43
是溢出了,我错了,1000左移大概6位就直接溢出了

罚你去看C语言基础再看一个小时

一周热门 更多>