我需要一个有效的函数来将任意长度的位序列从打包位数组中的任意位置复制到另一个打包位数组。 (逐位复制将不够好,希望函数对于小序列来说很快,比如长度为5到25位,但应支持任何长度。)
示例:
从
中的位置7复制12位 _ ________ ___
11111000 01000000 01101011 11110110 01100100
到第21位
___ ________ _
11011111 11001010 00000100 11001101 10111111 00101101,
屈服
___ ________ _
11011111 11001010 00000001 00000001 10111111 00101101.
我计划在可能和有益的情况下使用字节/字/双字/四字访问。我对移位/按位掩蔽技术非常熟悉,知道这不是微不足道的,并且存在许多极端情况。所以我正在寻找一种(几乎)现成的解决方案,只要经过验证就可以使用伪代码或任何语言。
欢迎任何方法上的暗示来缓解这种发展。