做而论道_CS: 计算机只用补码,原码反码都是不用的。 计算机中,也根本就没有原码和反码。 没有原码,你拿什么取反? 没有反码,你拿什么加一? 那么,从符号位原码反码入门,就是走入歧途了。 因为,补码,与原码反码,并无半点关系。 其实,补码,根本就没那么复杂。 补码,也并非二进制才有。 任何进制,都有补码的存在。 你看十进制吧,两位,就是:0~99。 你可以这么算:27 + 99 = (一百) 26 这么算也可以:27-1 = 26 你如果忽略进位,仍旧保持两位数, 这两种算法的功能,就是完全相同的。 就是说,舍弃了进位: 正数,就能当负数使用。 加法,也就能完成减法运算。 在计算机中舍弃进位: 负数和减法,就都没有了。 减法器,当然就没有用了。 计算机有一个加法器,便可横行天下! 舍弃进位,才是补码的来源和存在意义。 两位十进制时,舍弃进位,就是减去一百。 那么,加 99,再减 100,当然就是 “-1” 了。 八位二进制是:0000 0000~1111 1111。 也就是十进制:0 ~ 255。 出现进位就是:2^8 = 256。 那么,加上 255 (1111 1111)再舍弃进位,也就是-1 了。 同理,+254 (1111 1110),就是-2 了。 +253 (1111 1101),即-3。 。。。 +128 (1000 0000),就是-128! 以上这些正数,就是【代替负数的补码】。 而正数,本来就是正数,不需要由谁来代替。 所以,零和正数,其本身就是补码了。 例:求-31 的八位补码是多少? 解:2^8-31 = 256-31 = 225 = 1110 0001 (二进制)。 完事! 什么符号位原码反码 ...,一概无用! 计算机专家发明这些 “补码”,其理论基础, 只不过是小学学过的【进位】而已。 但是,计算机专家并不明白什么是【进位】。 于是,就凭空又编造了一个词:“模”。 与此同时,还编造了一大滩垃圾知识: 机器数真值符号位原码反码补码正数三码相同负数取反加一符号位也参加运算 ... 老外数学水平洼得狠,这是早有定论的事。 谁要是跟老外学算术, 立刻,马上,直接,就掉沟里去了! 看过《卖拐》吧? 你知道不知道,谁最能忽悠? 就是计算机专业的专家和老师!
OpenGL.坐标系统的介绍与坐标变换的实现
计算机组成.计算机在计算啥.运算与ALU