标题: STC8A8K系列的单片机的ADC转换几个代码不理解。 [打印本页]

作者: univers    时间: 2019-3-11 17:06
标题: STC8A8K系列的单片机的ADC转换几个代码不理解。
这几个代码管么理解啊?俺不懂。见图:
第一个红框的,为什么右移5位就是等价于除于32啊?如果我要除于2要右移多少呢?有没有一个这种的算数表的啊?
第二个红框,//保存转换结果并进行类型转换,方便显示   ADCResult=(unsigned int)ADCSum; 它这后面的括号(unsigned int)声明这个无符号整有啥作用啊?
谢谢!!!

无标题.png (29.38 KB, 下载次数: 31)

无标题.png

作者: 杨雪飞    时间: 2019-3-11 21:46
2的5次方=32,移6次就是64,7次128,以此……
作者: Y_G_G    时间: 2019-3-11 23:36
这个不好说,理解的人一看就知道,不理解的人要讲好久
这右移和我们常用的10进制的右移是一样的,1230右移就变成了123,因为是10进制就是除以10
那么2进制右移也是一样的道理,这个你要自己去计算一下的嘛,你随便找个2进制的数试一下不就知道了
第二个问题不知道答案,我不会C
作者: yoxi    时间: 2019-3-12 06:31
说多了都是泪还是多看看基础
作者: univers    时间: 2019-3-12 12:08
谢谢老鸟们,我试试,懂了一点。
作者: wulin    时间: 2019-3-12 13:17
第一个问题楼上已经解释清楚,第二个问题在截图里也已注释:保存转换结果并进行类型转换。ADCSum是一个长整形数据 long 型,ADCResult 是一个无符号整形数据 unsigned int 型。ADCResult=(unsigned int)ADCSum;就是把 long 型数据强制转换成unsigned int型数据后赋值给ADCResult。
作者: univers    时间: 2019-3-13 15:00
wulin 发表于 2019-3-12 13:17
第一个问题楼上已经解释清楚,第二个问题在截图里也已注释:保存转换结果并进行类型转换。ADCSum是一个长整 ...

非常感谢楼主的科谱,现在明白了。
作者: hujinyan    时间: 2019-5-24 14:55
你好,可以向你请教一个关于STC8A8K单片机的问题嘛。我发不了消息,留下qq哈:1107260743
作者: kkkjjj    时间: 2019-9-5 10:42
yoxi 发表于 2019-3-12 06:31
说多了都是泪还是多看看基础

别光流泪啊,还没回答问题呢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1