有符号二进制乘法及MATLAB有符号数16进制到2进制的转换问题 |
您所在的位置:网站首页 › matlab进行符号运算 › 有符号二进制乘法及MATLAB有符号数16进制到2进制的转换问题 |
目录
有符号数乘法MATLAB有符号16进制转2进制
有符号数乘法
在服务器中搭建乘法器验证波形时,多比特二进制数手算比较麻烦,所以导入matlab计算正确的输出结果。 此时要注意乘法器的特性,举个例子吧 5 × 5 = 25 也就是4‘b0101(+5) * 4’b0101(+5) = 0011001(+25) 那 -5 × 5 = -25该怎么做呢,应该把符号位单独拿出来异或,然后余数进行乘操作,也就是:4‘b1101(-5) * 4’b0101(5) = 1011001(-25) 然而,在电脑的二进制中,可以看到-5是1011,是用补码形式表述的,因此要对它进行补码的格式转换,才能进行乘法运算。 先把16进制数读入excel里 weight_hex = textread('E:\matlab\weight.txt','%s'); //以字符串形式读入读完的数据是cell类型的16进制 此时为double类型的10进制 接下来,通过logical(bitget())的命令就可以得到2进制,拿第二个weight(负数)举例。 这是未经过负数取补码的结果 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |