探讨补码意义及其在Verilog中的定点小数运算
发布时间
阅读量:
阅读量
目录
-
原码、反码与补码
-
补码的作用与价值
-
Verilog语言中补码的运算及定点小数处理
3.1 补码表示的定点小数加减操作
3.2 补码表示的定点小数乘除操作
3.3 对计算结果进行位宽截断处理
3.4 实际工程中的应用实例
1.原码,反码,补码
对于n位的二进制数,其最高位用于表示符号,正数对应0,负数对应1。其余n-1位则用于表示数值的绝对值。
反码的生成方式为:保持符号位不变,正数的反码与原码一致,而负数则需对原码中除符号位以外的所有位进行按位取反操作。
补码的生成方式为:正数的补码与反码相同;对于负数,则在反码的基础上加1。
在Verilog语言中,我认为采用以下方式更为便捷:
正数的原码、反码以及补码三者是完全一致的;
对于负数而言,其补码可以通过将该数值绝对值对应的二进制形式进行取反后加1来获得(这样便无需经过原码和反码的转换过程)。
若已知一个补码形式,如何推导出其所代表的负数绝对值呢?可以通过将补码的所有位先减去1再进行按位取反的操作来实现。这种方式等价于先取反再加1的操作[1]。
2.补码的意义
学习过微机原理课程的人应当了解,计算机本质上仅能执行基础的二进制加减运算**,而补码的作用在于:无论这n位二进制数代表的是正数、负数还是包含小数部分,计算机均将其视为
全部评论 (0)
还没有任何评论哟~
