国外网站后台模板下载,电商设计素材网,这样可以做网站,wordpress wp_cumulus_insert(系列文章目录 文章目录 系列文章目录Verilog负数负数运算原理 Verilog负数
reg寄存器是最常用的寄存器类型#xff0c;这种寄存器中只能存放无符号数。如果给reg中存入一个负数#xff0c;通常会被视为正数。
reg [8:0] a; //9位b声明是有符号数要加signed#xff0c…系列文章目录 文章目录 系列文章目录Verilog负数负数运算原理 Verilog负数
reg寄存器是最常用的寄存器类型这种寄存器中只能存放无符号数。如果给reg中存入一个负数通常会被视为正数。
reg [8:0] a; //9位b声明是有符号数要加signed做加法或乘法时对操作数扩位处理时高位补符号位即负数补1正数补0
reg signed [8:0] a;a -8d1;a 8d1;负数运算原理
正数50 0101 负数51 0101
那么如何进行加减乘除呢 计算中1-2会转化为1-2减法转加法乘法转加法和位移除法转乘法再转换
我们看到如果直接用0 0101 1 0101 1 1010 -10 这样结果不是0
所以出现了反码正数的反码不变负数的反码是符号位不变其他取反 这样 1 0101的反码是 1 1010 再计算 0 0101 1 1010 1 1111这样的话就需要用 1111111表示0.不方便
于是出现了补码正数的补码不变负数的补码加1 1 0101的补码1 10101 1 1011 0 0101 1 1011 00000 0于是就可以用全0表示0了。 这样用补码计算出如果最高位是0直接转正数就行 如果最高位是1就是负数要倒转回去即1取反