有/无符号数乘法

本文探讨了移位运算在乘除法中的应用,指出左移位相当于乘以2的幂次方,而算术/逻辑右移对应除法。对于有符号数乘法,通过符号位扩展进行实现。乘法过程中,有符号数和无符号数的乘积由乘数的符号决定。
摘要由CSDN通过智能技术生成

移位与乘除法

左移n位等于原来的二进制数乘以2的n次方。
比如00011010十进制是26,左移两位后是011010​00转成十进制是104恰好是26的4倍。
ps:这种倍数关系只适用于左移后被舍弃的高位不含1的情况,否则会溢出。​
解决方式很简单,保证足够的位宽就行。

在这里插入图片描述
算术右移n位就是有符号位的除法,等于除2的n次方。
逻辑右移n位就是有符号位的除法,等于除2的n次方。
​ps:这种倍数关系只适用于右移后被舍弃的低位不含1的情况,否则每舍一次1则代表余数被舍去,保留整数部分。
(针对这个还没想到好办法)从书中看到,这种误差是无解的。
在这里插入图片描述

用*乘法符号

//无符号乘法
wire [7:0] ubyte_a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值