指数哥伦布编码

指数哥伦布编码分为:无符号和有符号:

无符号哥伦布编码:

有前缀和后缀的概念:

1 先将要编码的数值写成二进制:0x6 ==> 0b110

2 以最高位为界(从右到左第一个值为1的位),后面的就是后缀(就是二进制10了),总共两位,所以前缀也是两位,而且必须是0,

3 得出数值6编码后的二进制表示为:00110

解码就是反过程:

从高位开始统计0的个数直至非零位, 假设0的个数是k, 那后面k+1位就是要找的数值了


有符号哥伦布编码:

稍微麻烦些:
编码, 要编码的数值为k
1 确定编码后数值的符号 (-1)的 (k+1)次方
2 确定编码后绝对值:(k+1)>>1
3 符号合上绝对值就是了

解码:
再看看~~~
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值