一种编码方法及系统技术方案

技术编号:24804892 阅读:23 留言:0更新日期:2020-07-07 22:02
本发明专利技术公开了一种编码方法及系统,方法包括:给定一个序号m,找出按升序排列的包含d位1的二进制数中的第m个数,以实现由序号m到二进制数的映射。本发明专利技术能够实现特殊形式二进制数与自然数之间的转换,提升了用户体验。

【技术实现步骤摘要】
一种编码方法及系统
本专利技术涉及编码
,尤其涉及一种编码方法及系统。
技术介绍
生活中某些标记可以用特殊形式的二进制数来表示,但是这种形式的二进制数在日常使用上并不方便,人们更习惯于使用自然数。例如,如图8所示,在一个由n行m列的棋盘上,将棋子沿横向和纵向以最少的步数从A点移动到B点,很显然有很多条路径。如果将棋子的横向移动一格编码为0,纵向移动一格编码为1,则每条路径可以编码为一个包含m个0与n个1的二进制数,这种标记方法简单而直观,便于计算机处理。然而,在日常的使用中,人们更习惯使用自然数标记每条路径,即第1条,第2条,……;同时使用(m+n)位二进制数标记路径,存在较大冗余,可以使用较短的数对路径进行标记。而在有些场合,需要实现对包含固定数量‘1’的二进制数与其对应序号间的双向转换。因此,如何实现特殊形式二进制数与自然数之间的转换,是一项亟待解决的问题。
技术实现思路
有鉴于此,本专利技术提供了一种编码方法,能够实现特殊形式二进制数与自然数之间的转换,提升了用户体验。本专利技术提供了一种本文档来自技高网...

【技术保护点】
1.一种编码方法,其特征在于,包括:/n给定一个序号m,找出按升序排列的包含d位1的二进制数中的第m个数,以实现由序号m到二进制数的映射。/n

【技术特征摘要】
1.一种编码方法,其特征在于,包括:
给定一个序号m,找出按升序排列的包含d位1的二进制数中的第m个数,以实现由序号m到二进制数的映射。


2.根据权利要求1所述的方法,其特征在于,还包括:
将所述二进制数映射为其序号m,其中,所述二进制数的长度为n位,d为其包含的1的个数,m为按从小到大顺序排列该二进制数的序号。


3.根据权利要求2所述的方法,其特征在于,所述给定一个序号m,找出按升序排列的包含d位1的二进制数中的第m个数,以实现由序号m到二进制数的映射包括以下步骤:
步骤1、如果d=1,那么从右到左将第m位设为1,将所有其他的位都设为0,该数字即可确定;
步骤2、若d>1且m=1时,将最右边的d位全部设为1,该数字即可确定;
步骤3、若d>1,m>1且则第(i+1)位设为1,令若d=1,前往步骤4,否则返回步骤2;
步骤4、若d=1,则将自右到左的第m位设为1,至此映射完成。


4.根据权利要求3所述的方法,其特征在于,所述将所述二进制数映射为其序号m包括以下步骤:
步骤1、对于包含d位1的n位二进制数,其中,d≥1,若d=1,则m是这个唯一的1在从右到左的顺序中所处的位置;
步骤2、在d>1的情况下,从左到右扫描数字,令第一个1的位置为p,其中,p≤n;
步骤3、分解m包含令d=d-1,继续从右到左扫描数字,直到令下一个1的位置为p,若d>1且d≠p,则重复当前步骤3;
步骤4、若d=1且d≠p,则最后的序号m是当前p与所有已识别的组合数的和;
步骤5、若d=p>1,则最后的序号m是1的总个数与所有已识别的组合数的和。


5.一种编码系统,其特征在于,包括:
自然数到二进制...

【专利技术属性】
技术研发人员:苗付友于跃孟珂举陆长彬
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1