数字电路设计中的二进制补码计算详解
创作时间:
作者:
@小白创作中心
数字电路设计中的二进制补码计算详解
引用
CSDN
1.
https://m.blog.csdn.net/weixin_43277020/article/details/140363011
二进制补码计算是数字电路设计中的基础知识,也是计算机科学的重要组成部分。本文将从原码、反码和补码的基本概念出发,深入探讨补码在乘法运算中的应用,帮助读者更好地理解这一核心概念。
基本知识
原码(Sign and Magnitude)是一种最简单的表示法,使用符号位和数值位来表示整数。
符号位:最高位是符号位,0表示正数,1表示负数。
数值位:剩下的位表示数值的大小。
反码(One’s Complement)是通过将数值位逐位取反来表示负数。
正数的反码:与其原码相同。
负数的反码:符号位为1,数值位逐位取反。
补码(Two’s Complement)是计算机中最常用的表示法,通过在反码的基础上加1来表示负数。它解决了反码表示零有两个表示的问题,并且使加减法运算更为简便。
正数的补码:与其原码相同。
负数的补码:符号位为1,数值位逐位取反后加1。
乘法
正数和负数的乘法共有4种情况:
- 正正得正
- 正负为负
- 负正为负
- 负负得正
正数乘正数
常规运算即可。
负数乘正数
- 负数写在被乘数的位置
- 正数写在乘数的位置
- 部分积需要符号扩展,扩展长度为2n
- 另一个例子:8bit x 8bit = 16 bit
负数乘负数
4bit x 4bit = 8bit
- 负数需要进行符号扩展
- 符号位的计算单独处理
原理说明
对于1 A N − 2 A N − 3 . . . A 0 1A_{N-2}A_{N-3}...A_01AN−2 AN−3 ...A0 表示的Nbit负数补码,其真实的值为A = ( − 1 ) × 2 N − 1 + A N − 2 × 2 N − 2 + . . . + A 0 × 2 0 A = (-1)\times 2^{N-1} + A_{N-2}\times 2^{N-2} +...+ A_0 \times 2^0A=(−1)×2N−1+AN−2 ×2N−2+...+A0 ×20。即− 2 N − 1 -2^{N-1}−2N−1加上除符号bit外将其余bit看成原码表示的值。例如。1011的4bit补码表示的实际值为− 1 × 2 3 + 3 = − 5 -1\times 2^{3} + 3=-5−1×23+3=−5。
在补码的世界里,一个数乘(-1)等于求这个数的补码。
热门推荐
焦虑性抑郁症需要吃什么药
元朝行省制度:影响深远的行政体制创新
脸上痘坑做微针和点阵激光哪个好?两者区别是什么?
洗浴热水“废热”回收也能助力建筑节能?
减肥的尽头是代谢?——如何在减肥过程中「养好代谢」
腊肠烹饪指南:如何蒸煮腊肠以保持最佳口感和风味
加州山火背后:预警失灵、取消房屋险与并非万能的技术主义
荷花花骨朵的神奇变化(揭秘荷花花骨朵从形态到开花的奥秘)
七月份游览拉萨的旅行建议与亮点
探索四川雅安:牛背山及周边热门旅游景点全解析
眼袋修复手术全流程详解:7个关键步骤+外翻/凹陷并发症修复方法!
江阴赵氏家族:基因与史籍互证的千年传承
在解构中重建:葛桂斌先生的语文教育的破局之思
新能源汽车动力电池结构详解
玉皇大帝与王母娘娘:神话中权力与温暖的和谐结合
摩根烫 vs 钢夹烫:烫发方式、打理方法和价格全解析
急性胃炎一直呕吐怎么缓解
张红甫教你做家庭版钵钵鸡地道川味
中风病人需要注意哪些事项
吉他弹奏技巧详解:从入门到精通
孕期低钾血症是什么病
万里长城万里空?历史上的长城到底有什么用?不只是防御!
每天测血压的时间和次数
学位房和教育地产的区别:购房者必知的六大要点
太空采矿:脚踏实地,目标星辰大海
两招快速缓解肩胛骨疼痛
公司负债如何优化财务结构
人形机器人核心传动精密部件:丝杠产业链分析
《神之天平》大团圆结局触发攻略
鸡蛋可以放微波炉热吗?厨房安全须知