日本三级电影 计较机构成旨趣 - 计较机的运算措施
计较机的运算措施日本三级电影
无标记数和有标记数
主张
计较机中的数均放在寄存器中,常常称寄存器的位数为机器字长。所谓无标记数,即莫得标记的数,在寄存器中的每一位均可用来存放数值。当存放有标记数时,则需留出位置存放标记。因此,在机器字长相通期,无标记数与有标记数所对应的数值范畴是不同的
比如:以机器字长为16位为例,无标记数的默示范畴为 0~65535,而有标记数的默示范畴为 -32768 ~ +32767
有标记数
有标记数又分真值和机器数
有正负标记(+、-)即是真值,用数字默示标记的即是机器数
原码默示法
原码是机器数中最浮浅的一种默示形态,标记位为0默示正数,标记位为1默示负数,数值位即真值的王人备值,故原码默示又称为带标记的王人备值默示
整数的原码界说(n 为数值位数)
例如如下
真值: x = +1110 [x]原 = 0,1110 (逗号是用来阻隔标记和数值)真值: x = -1110 [x]原 = 1,1110
少许的原码界说
例如如下
真值: x = +0.1110 [x]原 = 0,1110 (逗号是用来阻隔标记和数值)真值: x = -0.1110 [x]原 = 1,1110
原码的特色是浮浅、直不雅,然而不易于进行加减法操作,引出补码
补码默示法
易于进行加减法操作(旨趣:就好比时钟顺时针旋转90度和逆时针旋转270度是莫得分离的,不错把减法运算变成加法运算来简化)
整数的补码界说(n 为数值位数)
例如如下
真值: x = +1110 [x]原 = 0,1110 [x]补 = 0,1110 (逗号是用来阻隔标记和数值)真值: x = -1110 [x]原 = 1,1110 [x]补 = 1,0010(计较神志不错将 2^(n+1) 也即是这里的 100000,先进行减1操作,变成 11111 进行加 x 操作,终末加回 1,就好得回最终的效果)
少许的补码界说
例如如下
真值: x = +0.1110 [x]原 = 0,1110 [x]补 = 0,1110 (逗号是用来阻隔标记和数值部分)真值: x = -0.1110 [x]原 = 1,1110 [x]补 = 1,0010
原码求补码的快捷神志
当原码为正数时,补码和原码是一致确当原码为负数时,补码可用原码(除标记位)每位都取反并末位加上1求得(补码飘荡成原码亦然雷同的规矩)
反码默示法
反码常常用来手脚由原码求补码概况由补码求原码的中间过渡
整数的反码界说(n 为数值位数)
例如如下
真值: x = +1110 [x]原 = 0,1110 [x]补 = 0,1110 [x]反 = 0,1110(逗号是用来阻隔标记和整数数值)真值: x = -1110 [x]原 = 1,1110 [x]补 = 1,0010 [x]反 = 1,0001
少许的反码界说
例如如下
真值: x = +0.1110 [x]原 = 0.1110 [x]补 = 0.1110 [x]反 = 0.1110真值: x = -0.1110 [x]原 = 1.1110 [x]补 = 1.0010 [x]反 = 1.0001
训练题目
x = +70 [x]原 = 0,1000110 [x]补 = 0,1000110x = -70 [x]原 = 1,1000110 [x]补 = 1,0111010x = +0.1110 [x]原 = 0.1110 [x]补 = 0.1110x = -0.1110 [x]原 = 1.1110 [x]补 = 1.0010x = +0.0000 [x]原 = 0.0000 [x]补 = 0.0000 [x]反 = 0.0000 x = -0.0000 [x]原 = 1.0000 [x]补 = 0.0000([+0]补 = [-0]补) [x]反 = 1.1111([+0]反 != [-0]反)x = -1.0000 [x]原 = 不行默示 [x]补 = 1.0000 (10.0000 - 1.0000)
三种机器数的特色
三种机器数的最高位均为标记位。标记位和数值部分之间可用 “,” 离隔当真值为正时,原码、补码和反码的默示形态均相通,即标记位用“0”默示,数值部分与真值相通当真值为负时,原码、补码和反码的默示形态不同,但其标记位都用“1”默示,而数值部分有这么的联系,即补码是原码的“求反加1”,反码是原码的“每位求反”
移码默示法
补码默示很难比拟数字的大小
整数的移码界说(x 为真值)
补码和移码之间的调度
补码和移码即是标记之间取反,其他都是相通的
戒备:移码记号中零亦然独一的
数的定点默示和浮点默示
在计较机中,少许点毋庸挑升的器件默示,而是按商定的神志标出,共有两种措施默示少许点的存在,即定点默示和浮点默示
定点默示
当少许点位于数符和第一数值位之间时,机器内的数为纯少许当少许点位于数值位之后时,机器内的数为纯整数。领受定点数的机器称为定点机由于少许点的位置固定不变,故当机器管制的数不是纯少许或纯整数时,必须乘上一个比例因子,不然会产生“溢出”
、
欺诈场景:常常用于对精度条款不是尽头高的计较,比如音频管制、浮浅的数值计较等
浮点默示
浮点数即少许点的位置不错浮动的数(不错合并为科学计数法的扩充)
浮点数默示法:S 为尾数(可正可负),j 为阶码(可正可负),r 是基数(或基值)
偷窥偷拍浮点数调度示例
浮点数在机器中的形态如下所示
领受这种数据形态的机器称为浮点机
阶码是整数,阶符和阶码的位数合起来响应浮点数的默示范畴及少许点的施行位置尾数是少许,其位数n响应了浮点数的精度尾数的标记代表浮点数的正负
浮点数默示的范畴
以通式 N=S×r^j 为例,设浮点数阶码的数值位取 m 位,尾数的数值位取 n 位,当浮点数为非规格化数时,它在数轴上的默示范畴如下
浮点数的规格化形态
基数 r = 2 尾数最高位为1基数 r = 4 尾数最高2位为不全为0基数 r = 8 尾数最高3位为不全为0
基数越大,可默示的浮点数的范畴越大,然而浮点数的精度裁汰
机械零
当浮点数尾数为0时,无论其阶码为何值都当机械零管制当浮点数阶码等于概况小于它所默示的最少许时,无论尾数为何值都当机械零管制
欺诈场景:适用于需要大范畴数值默示和较高精度的阵势,如科学计较、图形渲染等
定点运算
移位运算
移位运算称为移位操作,对计较机来说,有很大的实用价值。例如,当某计较机莫得乘(除)法运算贯通时,不错领受移位和加法相齐集,收场乘(除)运算
算数移位规矩
算术移位和逻辑移位的分离?
内容分离:标记位是否参与运算
有标记数的移位称为算术移位无标记数的移位称为逻辑移位
算术左陡然,标记位移至C,最高数位就可幸免移丢
加法与减法运算
补码加减运算的基本公式
加法
减法
例如
已知 A = 0.1011,B = -0.0101,求[A+B]补
一位标记位溢出判断
插足操作的两位数标记相通,然而相加概况相减得出标记不同的效果,即为溢出
硬件收场:通过判断最高灵验位 异或 标记位的进位 = 1
例如
在这个例子中,两个正数相加,效果却得回了一个负数(标记位为1)。这是不可能的,因为两个正数相加的效果应该是正数。因此,咱们不错判断发生了正溢出
01111111 (第一个数)+ 01111111 (第二个数) ----------- 10111110 (效果)
二位标记位溢出判断
效果的双标记位相通 未溢出,反之溢出 比如: 01.xxx ;10.xxxx (最高标记位代表其真正的标记)
例如
在这个例子中,两个正数相加,效果的双标记位变成了01,这默示发生了正溢出。因为双标记位的第一位是0,默示蓝本的数值是正数,而第二位是1,默示发生了正溢出
00 11111111 11111111 (第一个数)+ 00 00000000 00000001 (第二个数) ------------------- 01 00000000 00000000 (效果)
乘法运算
乘法运算不错用移位和加法来收场
示例
已知x = -0.1110 y = -0.1101,求[x·y]原 = 0.1011 0110(标记异或得回)
除法运算
概括
笔算除法和机器除法之间的分离
原码的除法示例
[x] 原 = x0 * x1 * x2 … xn (王人备值标记为 x*)
[y] 原 = y0 * y1 * y2 … yn (王人备值标记为 y*)
商定
少许定点除法 x* < y* => 反之溢出整数定点除法 x* > y* => 反之溢出被除数不行等于 0 => 特地除数不行为 0 => 径直求得 0
规复尾数法
规复尾数法的特色是:当尾数(被除数)为负时,需加上除数,将其规复成蓝本的尾数。
案例如下
已知 x = - 0.1011,y = -0.1101,求[x/y]原
加减轮换法(不规复尾数法)
运算规矩
尾数 R > 0 上商 1,2R - y* (尾数R左移一位,加上 [-y*])尾数 R < 0 上商 0,2R + y* (规复尾数R+y*,左移一位 2(R+y *) ,加上 [-y *] 得出 2R + y *)
案例如下
已知 x = - 0.1011,y = 0.1101,求[x/y]原
浮点运算
浮点数的加减运算
运算智商
对阶,使两数的少许点位置对王人。(小阶向大阶看王人)尾数乞降,将对阶后的两尾数按定点加减运算规矩乞降(差)。规格化,为增多灵验数字的位数,擢升运算精度,必须将乞降(差)后的尾数规格化。左规:尾数左移一位,阶码减1,直到第一数位和数符不同为止右规:当尾数溢出时,需要尾数右移一位,阶码加1舍入,为擢升精度,要有计划尾数右陡然丢失的数值位。0 舍 1 入法(“0舍1入”法雷同于十进制数运算中的“四舍五东谈主”法,即在尾数右陡然,被移去的最高数值位为0,则舍去;被移去的最高数值位为1,则在尾数的末位加1)恒置 1 法(尾数右陡然,无论丢掉的最高数值位是“1”或“0”,都使右移后的尾数末位恒置“1”)溢出判断,即判断效果是否溢出
浮点数的乘除运算(略)
算术逻辑单位
ALU框图
图中 Ai 和 Bi 为输入变量;ki 为扫尾信号,ki 的不同取值可决定该电路作哪一种算术运算或哪一种逻辑运算;Fi 是输出函数。
并行加法器
并行加法器由若千个全加器构成
由于每位全加器的进位输出是高一位全加器的进位输入,因此当全加器有进位时,这种一级一级传递进位的流程将会大大影响运算速率
输入 Ai Bi 输出和为 Si 以及进位 Ci
串行进位链
串行进位链是指并行加法器中的进位信号领受串行传递
若设与非门的级蔓延时期为ty,那么当di、ti酿成后,共需8ty,便可产生最高位的进位。施行上每增多一位全加器,进位时期就会增多2ty,n位全加器的最出息位时期为2nty
并行进位链
并行进位链是指并行加法器中的进位信号是同期产生的,又称先行进位、率先进位等
单重分组率先进位
单重分组率先进位即是将位全加器分红些许小组,小组内的进位同期产生,小组与小组之间领受串行进位,这种进位又有组内并行、组间串行之称。
左边的是每组的逻辑电路,左边是串行的组((小组内并行,小组间串行))
双重分组率先进位
将位全加器分红些许大组,每个大组中又包含些许小组,而每个大组内所包含的各个小组的最高位进位是同期产生的,大组与大组间领受串行进位。
32位并行加法器双重分组率先进位链框图(小组间并行日本三级电影,大组间串行)