计算机组成原理——运算方法和运算器
做而论道_CS:
在 “补码一位乘” 的方法中,提到了:“+[-X ]补码”。
实际上,[-X ]补码这个写法,是有问题的。
在 n = 8 时,如果 X = 25,
当然是可以求出来 [-25 ]补码的。
但是,你别觉得能求出一些,就可以求出全部了。
如果,X = -128 呢?
那么,[-X ]补码,就是 [+128 ]补码!
谁能求出来吗? 显然不能!
八位补码的表达范围是:-128 ~ +127。
应该能看出来:正数、负数,不是对称的。
-128,是存在补码的。
但是,+128,它就没有补码!
所以,+[-X ]补码,并非是通用的写法。
应该写成:-[ X ]补码,才对。
当然,在做减法时,可以用:
“先取反加一,再相加”的方法,
来完成减法运算。
逻辑门图解—与门、或门、非门、与非门、或非门、异或门、同或门
BZlily:
蕴含门呢
计算机组成原理——运算方法和运算器
做而论道_CS:
计算机中,只有 1 和 0。
计算机中,并没有小数点。
无论整数、小数或浮点数,在计算机中,都是以整数来计算的。
那么,你介绍计算机知识,就应该用整数来介绍。
算出的结果,也应该是整数。
这些个整数,都代表什么?
你再慢慢的解释吧。
或者是整数,或者是小数,或者是浮点数,或者是英文汉字。。。
你都可以慢慢的、逐个的进行介绍。
但是,你不能说,计算机内部有小数点。
为什么正常人学计算机,觉得很难呢?
就因为计算机教材写的,就是这么乱七八糟。
关键是教材的作者,他们脑子里面,都是稀烂的!
没有一点头绪。
就说补码吧。
补码,不仅仅是二进制。
实际上,任何进制,都有补码的。
补码,也并不是什么取反加一。
补码,它是来自于【舍弃进位】。
你看十进制,两位数:0~99。
那么有:27 + 99 = (一百) 26
也可以:27 - 1 = 26
如果你忽略进位,依然保持两位数,这两种算法,就是相同的。
即,当你舍弃了进位:
正数,就能代替负数使用。
加法,就完成了减法运算。
既然,减法都不存在了,减法器,也就没有用了!
计算机,只用一个加法器,就可以横行天下!
----------------
两位十进制时,舍弃进位,就是减去一百(10^2)。
那么,加上 99,再减 100,显然就是 “-1”。
八位二进制数是:0000 0000~1111 1111。
也就是十进制数:0 ~ 255。
如果出现进位,即:2^8 = 256。
那么,加上 255 (1111 1111),再舍弃进位,不也是-1 ?
同理,+254 (1111 1110),这不就是-2 ?
还有,+253 (1111 1101),就是-3 了。
。。。 。。。
所谓的补码,就是这么点小事啊!
上过小学,就会知道了。
咋就能说:
机器数符号位原码反码补码正数三码相同负数原码取反加一符号位不变 ...
这些计算机教材的作者,吃的饱饱的,
蹲在墙根,晒的暖暖乎乎,
然后就一本正经的胡诌八扯!
Spring Security Oauth2源码分析
CSDN-Ada助手:
推荐 Java 技能树:https://edu.csdn.net/skill/java?utm_source=AI_act_java
计算机组成原理——指令系统
龙神哦莫:
nnd,大后天考,指令还没学