MATLAB GUI 实现串口通信,制作串口助手(教材级别的宝藏内容!!)
2201_76119591:
有么有连接不上串口的呀
彻底搞明白“取反加1”到底是个什么鬼?
做而论道_CS:
取反加一!
取反加一!
取反加一!
谁要是跟老外学算术,立刻、马上、直接,就掉沟里去了。
彻底搞明白“取反加1”到底是个什么鬼?
做而论道_CS:
用两位十进制计算时,舍弃进位,就是:减去一百。
所以,加上 99,再减 100,当然就是 “-1” 了。
计算机用二进制。
八位二进制数是:0000 0000 ~ 1111 1111。
等价于十进制数:0 ~ 255。
如果出现进位,就是:2^8 = 256。
那么,加 255 (1111 1111),再减 256,也就是 “-1” 了。
同理:+254 (1111 1110),就是-2。
+253 (1111 1101),就是-3。
。。。 。。。
+128 (1000 0000),就是-128。
以上这些正数,就是【计算机中的负数】。
计算机专家,则称之为:“补码”。
这些正数(即补码),与其负数的关系,
你一定可以看出来,是:
正数(即补码)= 256 + 该负数
一般化,就是:
正数(即补码)= 2^n + 该负数
n 是二进制补码的位数。
例:求-31 的八位补码,是多少?
解:256-31 = 225 = 1110 0001 (二进制)。
代替负数的正数(即补码),就这么求出来了。
简不简单?
意不意外?
但是,计算机专家,不想让你弄的这么快当!
它们偏要跟你说:
机器数符号位原码反码补码取反加一...
他们这么讲,就暴露了他们的数学水平,
简直是太洼了!
|