在二进制和十进制的处理中,有时候一些小技巧是很有用的。
1、把十进制数转换成二进制数
(1)在MATLAB中有一个函数dec2bin,可以把正整数转换为2进制
(2)对于负数有这样一个结论:N位二进制负数X的补码对应的无符号数为2N+X
例:有符号原码:1001 十进制为:-1
反码:1110
补码:1111 无符号数为:15
15 = 24 + (-1);
这样就可以快速的知道用4位二进制表示的-5的补码的无符号数为16-5=11即1011
2、把负数二进制补码转换成十进制
(1)把符号位去掉,再把剩余位取反加一,得到的数就是负数的二进制补码的绝对值。
(2)直接把二进制补码取反加一;
(3)1011 (-1)*23+0*22+1*21+1*20= -5
问题:
=============================================
=============================================
1、用补码表示的二进制,正数转负数,负数转正数都是取反加一。
2、两个数相加位宽会增加,所以要扩展符号位:
regdin_cho1_i[15:0];regdin_cho2_i[15:0];regdin_cho1_o2_i[16:0];always@(posedgeclk)begindin_cho1_o2_i<= {din_cho1_i [15],din_cho1_i } + {din_cho2_i[15],din_cho2_i }; end
3、截位处理,可以截高位,但一定要保留符号位
always@(posedge clk)begindout_i <= {din_cho1_o2_i [16],din_cho1_o2_i [14:0]};end
4、四舍五入
dout_i <= din_cho1_o2_i [16:1] + din_cho1_o2_i [0];
没有四舍五入,可能会带来很多直流信号。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
二进制
+关注
关注
2文章
809浏览量
43170
发布评论请先 登录
相关推荐
热点推荐
什么是二进制计数器,二进制计数器原理是什么?
什么是二进制计数器,二进制计数器原理是什么?
计数器是数字系统中用得较多的基本逻辑器件。它不仅能记录输入时钟脉冲的个数,还可以实现
发表于 03-08 13:16
•3.2w次阅读
二进制电平,什么是二进制电平
二进制电平,什么是二进制电平
在二进制数字通信系统中,每个码元或每个符号只能是“1”和“0”两个状态之一。若将每个码元可能取的状态增
发表于 03-17 16:51
•2755次阅读
labview二进制字符串转数值
字符串是一种常见的数据类型,它表示了以二进制形式存储的数据。当我们需要将这些二进制字符串转换为数值时,LabVIEW提供了一些常用的函数和方法,可以帮助我们完成这个任务。 首先,我们需
二进制编码器工作原理 如何选择二进制编码器
二进制编码器是一种数字电路,它将输入的二进制代码转换为对应的输出信号。在数字系统中,编码器用于将数据从一种形式转换为另
二进制处理中的一些技巧
评论