[发明专利]一种二进制数的双向移位方法及装置有效
申请号: | 201310680553.1 | 申请日: | 2013-12-12 |
公开(公告)号: | CN103677731A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 杜东振;陈印锋;朱宇霞 | 申请(专利权)人: | 北京北方烽火科技有限公司 |
主分类号: | G06F5/01 | 分类号: | G06F5/01 |
代理公司: | 北京信远达知识产权代理事务所(普通合伙) 11304 | 代理人: | 赵百令;刘大玲 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种二进制数的双向移位方法及装置,将m位第一有符号二进制数拆分成至少两个m位第二有符号二进制数,并依次采用各个第二有符号二进制数对应的移位位数和移位方式对n位有符号二进制数进行移位处理,使对n位有符号二进制数的移位处理分两步或两步以上完成。采用本技术方案,不但可以得到所需的移位结果,而且当对位数相同的n位有符号二进制数做移位处理时,采用本方案所需遍历的移位方式要小于现有技术所需遍历的移位方式,由于移位方式的减少,可以有效降低数字芯片的布线难度、提高代码处理效率、还可避免因数字芯片所采用的时钟频率增加而导致的移位结果错误的缺陷。 | ||
搜索关键词: | 一种 二进制 双向 移位 方法 装置 | ||
【主权项】:
一种二进制数的双向移位方法,其特征在于,包括: 若m位第一有符号二进制数对应的第一有符号十进制数为负数且n位有符号二进制数左移k位后不会发生溢出,k为所述第一有符号十进制数的绝对值,则将m位第一有符号二进制数拆分成至少两个m位第二有符号二进制数,所述第一有符号二进制数等于所述至少两个第二有符号二进制数的和值; 将所述至少两个第二有符号二进制数分别转换为第二有符号十进制数,所述第二有符号十进制数的绝对值对应于移位位数,所述第二有符号十进制数的符号对应于移位方向,所述符号为正时所述移位方向为右,所述符号为负时所述移位方向为左; 从至少两个第二有符号十进制数中提取一个第二有符号十进制数,并按照提取的第二有符号十进制数对应的移位位数和移位方向对n位有符号二进制数进行移位处理; 从未被提取过的第二有符号十进制数中提取一个第二有符号十进制数,并按照提取的第二有符号十进制数对应的移位位数和移位方向对上一次移位处理后的n位有符号二进制数进行本次移位处理,继续执行所述从未被提取过的第二有符号十进制数中提取一个有符号十进制数的步骤,直到全部提取完毕为止; 其中,当所述本次移位处理的移位位数为p时,若本次移位方向为左且上次移位方向为右,则从上次向右移出的各个二进制位中的最高位开始取出p位且在不足P位时补0,并将取出的p位填补到本次移位结束后的n位有符号二进制数的最低p位处;若本次移位方向为右且上次移位方向为左,则从上一次向左移出的各个二进制位中的最低位开始取出P位且在不足P位时补符号位,并将取出的p位填补到本次移位结束后的n位有符号二进制数中符号位后的最高P位处; 其中,m、n、k和p均为正整数,m <= log2(n) + 1。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北方烽火科技有限公司,未经北京北方烽火科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310680553.1/,转载请声明来源钻瓜专利网。