打印

FPGA中的有符号数的比较

[复制链接]
2408|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
robbins37|  楼主 | 2012-10-29 16:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dousfoulexd| | 2012-10-29 16:22 | 只看该作者
有符号数都是用补码表示。

什么是补码?

正数的补码是原码。

负数的补码是负数的补码是对其原码逐位取反,但符号位除外;然后整个数加1。


  同一个数字在不同的补码表示形式里头,是不同的。比方说-15的补码,在8位2进制里头是11110001,然而在16位2进制补码表示的情况下,就成了1111111111110001。在这篇补码概述里头涉及的补码转换默认了把一个数转换成8位2进制的补码形式,每一种补码表示形式都只能表示有限的数字。

已知一个补码为11111001,则原码是10000111(-7)。


  因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。


  其余七位1111001取反后为0000110;


  再加1,所以是10000111。



AD采样的数据都是用补码表示的。



有符号数比较,在二进制制中可以直接采用有符号比较模块。

也可通过判断符号位+绝对模块,进行比较。

使用特权

评论回复
板凳
Backkom80| | 2012-10-29 16:33 | 只看该作者
AD采样输出的数,不全是补码,有很多AD是可选择的,查AD手册

有符号数的比较:加上一个固定的常数,直接比较大小更方便

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

160

帖子

2

粉丝