做而论道_CS: 在两位十进制数运算中,舍弃进位,就是 “减去了一百”。 那么,加 99,再减 100,当然就是 “-1” 了。 八位二进制数是:0000 0000 ~ 1111 1111。 也就是十进制数:0 ~ 255。 如果有进位,就是:2^8 = 256。 此时,加上 255 (1111 1111),再舍弃进位 256, 这不就是-1 吗? 所以:+255 (1111 1111),就是-1; 同理:+254 (1111 1110),就是-2; +253 (1111 1101),就是-3; 。。。 +128 (1000 0000),就是-128。 这些正数,就是计算机专家 “发明” 的负数补码。 (注意,加上这些正数后,可别忘了舍弃进位。) 另外,加上 127 (0111 1111),是不会出现进位的。 当然,也就不用舍弃进位,也就不用减 256 了。 因此,加上 127,就不会出现 “减法的作用”。 所以,0 ~ 127,这些就是 “正数”。 而 128 ~ 255,就是负数:-128 ~ -1。 于是,0~ 255,就代表了:-128 ~ +127。 ------------------ 老外的算术能力很差,不懂什么是进位, 更弄不懂什么是舍弃进位。 所以,就编造了一套谎言: 机器数真值符号位原码反码补码正数三码相同 负数取反加一符号位不变符号位也参加运算模 我们的老师,数学底子也很差啊! 小学的算术,都看不透,就被老外忽悠瘸了! 天天喋喋不休的:原码反码取反加一。。。 也不知道有多少学生因此而挂科。
使用CInternetSession发送华为短信时如何设置header
带符号数的四种编码表示(原码 反码 补码 移码)