补码的移位运算

您所在的位置:网站首页 负数的左移和右移是什么 补码的移位运算

补码的移位运算

2024-07-09 16:57| 来源: 网络整理| 查看: 265

计算机的运算基础

做而论道_CS: 作为《计算机组成原理》来说,不需要整太多的事。 实际上,计算机中,只有二进制数。 二进制数与十进制数,是雷同的。 作为数字运算,它们都是数,并不是什么原码反码补码。 特别是 “浮点数” !  它和计算机,仅有四个字节的关系。  怎么能和《计算机组成原理》扯在一起?  也可以说,浮点数,和计算机,根本就没有关系。 用 32 位二进制数,表示一批更大范围的数,  这可以说是一种:加密解密的方法。 它们之间的换算,完全是 “数学知识”。  与《计算机组成》,没有一丁点的关系。 《计算机组成原理》的作者,基本概念不清,常识都不懂! 把《计算机应用》的一些事,当成《组成原理》来讲! 你说这不就是毁人不倦坑人不浅吗! 按照冯·诺依曼的理论,计算机,由五大部分组成。 《计算机组成原理》就应该把这五大部分,分别介绍出来:  键盘、鼠标,都是由什么组成的,原理是什么?  显示器,是由什么组成的,原理是什么?  打印机,是由什么组成的,原理是什么?  声卡,是由什么组成的,工作原理,又是什么?  。。。 。。。 《计算机组成原理》的作者,显然是搞不懂这些的!

计算机的运算基础

做而论道_CS: 另外,由补码换算到十进制数,也极其简单。 你只需记住:【补码首位的权,是负数】。 一般的八位二进制数,各个位的权是:   128、64、32、16、8、4、2、1; 如果是八位的补码,各个位的权则是:  -128、64、32、16、8、4、2、1。   例如,有一个补码:1110 0001, 它代表的十进制是:-128 + 64 + 32 + 1= -31。 再看,另一个补码:0110 0001, 它代表的十进制是:0 + 64 + 32 + 1 = +97。 仅仅使用【进制转换】,不就完事了! ---------------------- 那么,所谓的:  机器数真值符号位原码反补码正数三码与正数相同  负数取反加一符号位不变符号位也参加运算模同余. 这一大堆乱七八糟的概念,不都是垃圾嘛! 进位,是小学二年级的知识点吧? 舍弃进位,很难理解吗? 老外竟然能弄出那么大一堆概念! 我们的计算机老师,也不懂数学,只知道跟风。 一天一天的,在大学,兜着圈子讲小学的知识。 真是毁人不倦坑人不浅! 这些老师,捡个鞋拔子就当做玉如意了。 天天蒙骗学生,自己赚取名声和丰厚的讲课费。 顺便再抓几个学生挂科,抖一下威风! 现在知道我们缺芯片用的原因了吧!

计算机的运算基础

做而论道_CS: 由上述介绍,可知:  所谓的 “补码”,也是正常的数字。 之所以能代替负数,关键是【舍弃了进位】。 由上述介绍,可以归纳出如下关系式:  负数的补码 = 256 + 该负数。 一般化,就是:  负数的补码 = 2^n + 该负数。  n,是二进制数的位数。 例:求-31 的 “补码” 是多少? 解:256-31 = 225 = 1110 0001 (二进制)。 这不就求出来了吗! 哪还用到 “原码反码。。。” ! 同理,求正数的补码,也是用同样的公式:  正数的补码 = 256 + 该正数。 要知道,加 256,就是出现一个进位。 进位必须舍弃,所以,256 就不用加了。 于是有:  正数的补码 = 该正数。 在此处,就证明了:  零和正数的补码,就该数字本身。 举例,就不用了吧。 计算机专家也是说:  正数的补码,就是其自身。 但是,他们并没有给出任何证明。 这些专家,为什么不证明呢? 因为:  他们不懂什么是进位。  更不懂什么是舍弃进位。

计算机的运算基础

做而论道_CS: 所谓的 “补码”,也是正常的数字。 并不是什么什么码。 正常的数字(正数),怎么就当负数用? 关键是:【舍弃进位】。 并非是:符号位原码反码取反加一。 在两位十进制运算时,舍弃的是:一百。 那么,加 99,再减 100,当然就是 “-1” 了。 八位二进制数是:0000 0000 ~ 1111 1111。 相当于十进制数:0 ~ 255。 如果出现进位,就是:256。 那么,加 255,再减 256,这也就是 “-1” 了。 所以:255 (1111 1111),就是:-1; 同理:254 (1111 1110),就是:-2;    253 (1111 1101),就是:-3;    。。。 。。。    128 (1000 0000),即:-128。 以上这些正数,就是计算机专家 “发明” 的补码了。

计算机的运算基础

做而论道_CS: 做数字运算时,二进制数,也是数。 根本就不是:原码反码补码。 所谓的“补码”,并非是二进制所特有。 “补码” 在任何进制中,都是存在的! 你看十进制数,两位的:0 ~ 99。 可有:27 + 99 = (一百) 26    27 - 1 = 26 如果你忽略进位,这两种算法,就是相同的。 即,舍弃了进位:  负数,就能用正数代替;  加法,就能实现减法运算! 在计算机中,舍弃进位,会怎样?  就可以简化硬件,用一个加法器横行天下! 由此可知,“补码”,根本就不是什么新鲜事。  关键的问题,是:【舍弃进位】。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3