数字IC知识点总结(7)-带符号整数的运算

之前我们聊了很多的数***算的实现,但是都是无符号数,但是如果有符号怎么办呢?我们现在来说道说道。

在计算之前,我们老生常谈的说一说原码,反码和补码。首先原码就是符号位和数值位的拼接,符号位“0”代表正数,“1”代表负数。反码正数符号位为“0”后面添加绝对值的无符号数表示;负数符号位为“1”后面添加绝对值的无符号整数的各比特位取反表示。补码是正数符号位是“0”,后面添加绝对值的无符号数表示,负数符号位是“1”后面是绝对值的无符号整数的各位取反,然后还要加上1。其实这里的道理很简单,取反是因为要用溢出来实现正负加法实际上是绝对值减法,取反加一实际上就是之前的数减一,而减的这个一实际上是因为双零的缘故。

这样原本带符号数的加法,还要识别符号位再决定是加是减,如是用了补码,就简单的多了。如图便是带符号数的加法器设计

这里面为什么结果还要加一个原码变补码呢?原因是原码变补码和补码变原码设计是一样的!只使用一个设计模块正好是逻辑复用。

那要是做乘法怎么办?乘法就没这么简单了(实际上也不难)利用乘法交换律,一部分计算符号部分,另一边计算树枝部分,再把他们合起来就是了。对于除法运算也是一样的,就是有一点,余数必须是正整数。乘法器和除法器的结构如下图。

#数字芯片设计#
全部评论
看到图上知乎的水印都还在
点赞 回复 分享
发布于 2022-04-27 15:29

相关推荐

大方的大熊猫准备进厂:1.教育背景:你希望从事什么专业的工作你的主修课就是什么;成绩优秀是你应该做的,没什么可描述的,成绩不优秀也许人家在大学忙着创业呢?(成绩优秀不一定是好事,只能说明多元化的大学你上成了高中,没有真正上明白大学,反而体现了你死板,不爱社交,没有别的突出能力) 2.实践经历:你想表达的意思没有说清楚。你是说你会个性化服务,还是你有实习经历。如果没有带来,经济收益,表彰,更好的发展前景,那你还不如说说提升了自己哪些技能。你说有人给你送锦旗我都能明白你优秀,但是你说你会xxxx,你说这话谁信,证据呢。 3.入伍经历:你描述的就是你的工作职责或者你应该做的,并没有体现出来你把这个事情做好了,而且入伍经历并不能证明你能干好你要应聘的工作,不如只写经历其余所有内容都不写。 4.荣誉技能:重点突出一下,但不要过多描述,这些荣誉的含金量懂得都懂。 重点:你要应聘什么工作(具体岗位,实习生不具体),你的期望薪资
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务