定点数运算及溢出检测

Posted fate-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定点数运算及溢出检测相关的知识,希望对你有一定的参考价值。

技术图片

 

 

 

技术图片

 

 

技术图片

 

 

3、数溢出的概念及其判断方法

1)溢出的概念

  运算结果超出了某种数据类型的表示范围

 

技术图片

 

 

 

技术图片

 

 

2)溢出的检测方法

  溢出只可能发生在同符号数相加时,包括[x]补与[y]补;[x]补与[-y]补同号;

1)方法1:对操作数和运算结果的符号位进行检测,当结果的符号位与操作数的符号不相同时就表明发生了溢出

(设X0,Y0为参加运算数的符号位,S0为结果的符号位)

技术图片

 

 当V=1时,运算结果溢出,根据该逻辑表达式,容易画出相应电路。

2)方法2:对最高数据位进位和符号位进位进行检测

*设运算时最高数据位产生的进位为C1,符号位产生的进位为C0

溢出检测电路为:V=C0⊕C1

 

技术图片

 

 

 

3)方法3:用变型补码

技术图片

 

 技术图片

 

 技术图片

 

 

 

4、无符号数运算的溢出判断

*无符号数加法的溢出可用ALU的进位表示

*无符号数减法的溢出也可用带加/减功能的ALU的进位取反后表示

以上是关于定点数运算及溢出检测的主要内容,如果未能解决你的问题,请参考以下文章

组成原理-数据定点数的编码与运算

(计算机组成原理)第二章数据的表示和运算-第二节4:定点数的加减运算和溢出判断

数据的表示和运算

计算机组成原理 王道考研2021 第二章:数据的表示和运算 -- 定点数的运算(移位加减运算溢出判断符号扩展)

C++ 从 istream 读取 int,检测溢出

数据的表示和运算 2.2 定点数的表示与运算