独闷闷网

标题: TH1=TL1=-(11059200L/12/32/9600)中的负号-是什么意思?L是什么意思?已解答。 [打印本页]

作者: jianhong_wu    时间: 2014-11-6 17:41
标题: TH1=TL1=-(11059200L/12/32/9600)中的负号-是什么意思?L是什么意思?已解答。
本帖最后由 jianhong_wu 于 2014-11-6 17:45 编辑

伟-肇庆:
鸿哥在配置串口程序的初始化中,有以下 一行代码:

TH1=TL1=-(11059200L/12/32/9600);
为什么计算公式前面有负号-?是什么意思?L又是什么意思?



糕富帅-深圳:
(1)等价于TH1=TL1=256-(11059200L/12/32/9600);负数在计算机里是用补码表示的,即原码的反码再加一,如果是8位的变量,-3在计算机里表示为:256-3 = 253。所以TH1 = TL1 = -(FOSC/12/32/BAUD)与TH1 = TL1 = 256-(FOSC/12/32/BAUD)等价。

(2)而L就是表示数据是long类型的数据。






欢迎光临 独闷闷网 (http://dumenmen.com/) Powered by Discuz! X3.2