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

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条回答
Squall001
1楼-- · 2020-01-21 19:48
gmajvfhpa 发表于 2016-1-8 23:25
编译器很聪明,它知道aa1赋值后会左移8位,所以赋值时,只赋低8位,高8位它根本不管它。软件仿真时,高8位 ...

正解
EMC菜鸟
2楼-- · 2020-01-21 20:18
Squall001 发表于 2016-1-12 01:48
正解

最终执行结果是正确的,编译器将过程优化了 ...... 在我看来,你这个没有对寄存器、IO等操作的变量,编译器没都给你优化掉就不错了!
talkingbeast
3楼-- · 2020-01-21 23:00
gmajvfhpa 发表于 2016-1-8 23:25
编译器很聪明,它知道aa1赋值后会左移8位,所以赋值时,只赋低8位,高8位它根本不管它。软件仿真时,高8位 ...

  看懂了,谢谢。
sibtck
4楼-- · 2020-01-22 03:51
内置类型也敢用.唉.楼主太年轻.
Squall001
5楼-- · 2020-01-22 05:46
 精彩回答 2  元偷偷看……
鲜衣怒马
6楼-- · 2020-01-22 09:43
编译器够聪明。。。

一周热门 更多>