博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分数CSD编码
阅读量:4341 次
发布时间:2019-06-07

本文共 542 字,大约阅读时间需要 1 分钟。

有符号数系统:有三重值(1, 0, -1)

SD编码:12 = 16 - 4 = 10000_0000 - 100 = 1_0000_0(-1)00;

      = 16 - 9 + 5 = 1_0000_0000 - 1001 + 101 = 1_0000_(-1)100;

 

CSD:最少非零元素的系统。

如何得到CSD编码:从最低有效位开始,用100...(-1)代替大于等于2的1序列。

13 = 1101 = 111(-1)= 100(-1)(-1);即100(-1)(-1)为13 的CSD编码。

 

使用CSD(canonic signed digit number,正则有符号数字)编码降低分数常数系数的实现工作量。

例如:x * 3 /14

 

3 = 11b = 100(-1)b = 4 - 1; 此时3的CSD码有: 11b, 100(-1)。可知CSD编码不是唯一的。

而且可以推知此时就算使用CSD编码也不会减少

 

 

例如: x * 15/ 16 

 15 = 1111b = 10000b - 1b = 1000(-1) = 16 - 1

 

实现程序图:

 

仿真结果图:

 

转载于:https://www.cnblogs.com/cornhill/p/4071959.html

你可能感兴趣的文章
【解决Chrome浏览器和IE浏览器上传附件兼容的问题 -- Chrome关闭flash后,uploadify插件不可用的解决办法】...
查看>>
34 帧动画
查看>>
二次剩余及欧拉准则
查看>>
thymeleaf 自定义标签
查看>>
关于WordCount的作业
查看>>
UIView的layoutSubviews,initWithFrame,initWithCoder方法
查看>>
STM32+IAP方案 实现网络升级应用固件
查看>>
用74HC165读8个按键状态
查看>>
jpg转bmp(使用libjpeg)
查看>>
linear-gradient常用实现效果
查看>>
sql语言的一大类 DML 数据的操纵语言
查看>>
VMware黑屏解决方法
查看>>
JS中各种跳转解析
查看>>
JAVA 基础 / 第八课:面向对象 / JAVA类的方法与实例方法
查看>>
Ecust OJ
查看>>
P3384 【模板】树链剖分
查看>>
Thrift源码分析(二)-- 协议和编解码
查看>>
考勤系统之计算工作小时数
查看>>
4.1 分解条件式
查看>>
Equivalent Strings
查看>>