在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 15579|回复: 20

求教二进制数如何转换成CSD数?

[复制链接]
发表于 2009-3-19 16:41:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
如题
比如二进制码: x=0011111011000101
其CSD编码为: csd=0100000-10-1000101

这个转换过程是怎么样的呢?
发表于 2009-3-19 18:49:13 | 显示全部楼层
LZ,CSD编码是什么?
发表于 2009-3-19 19:23:48 | 显示全部楼层
same question
发表于 2009-3-19 19:53:23 | 显示全部楼层
前阵子搞过,不过代码没找到了
在google里面可以搜到相关CSD的
 楼主| 发表于 2009-3-19 22:36:21 | 显示全部楼层
CSD编码是一种三元数值编码系统,即将符号数用(-1,0,1)来表示。
 楼主| 发表于 2009-3-19 22:37:46 | 显示全部楼层
CSD全称为Canonic signed digit
发表于 2009-3-20 08:28:25 | 显示全部楼层
正则数编码,很简单
从低位到高位,  如果发现"11"(两个连续的"1"),就用10(-1)表示。因为11 = 100 -001。
这样,你就把“11”用0(-1)来替换,10(-1)中的最高位“1”就进位到高位去,后面以此类推。
例如 001010101101110
      =0010101011100(-1)0
      =0010101100(-1)00(-1)0
      =0010110(-1)00(-1)00(-1)0
      = 00110(-1)0(-1)00(-1)00(-1)0
     =  010(-1)0(-1)0(-1)00(-1)00(-1)0
发表于 2009-3-20 10:10:46 | 显示全部楼层
在什么情况下使用?
发表于 2009-3-20 12:45:04 | 显示全部楼层
常数乘法器
因为经这种编码方式可以减少整个数中的非零值的个数.  配合加法树什么的,可以减少乘法器面积,提高运算速度.
发表于 2010-3-13 09:58:29 | 显示全部楼层
谢谢 很有用 正需要
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-20 21:12 , Processed in 0.032024 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表