bit-shift相关内容

查找具有特定汉明重量的下一个数字

给定一个整数 x ,我想计算下一个 更高一个整数 y 汉明体重 w .请记住,x的汉明权重也必须是w. 因此,例如x = 10(1010)且w = 4,结果应为y = 15(1111). 很显然,我可以通过增加x来实现这一点,但这对于高数字来说是一个非常慢的解决方案.我可以通过某种方式的移位来实现吗? 解决方案 有以下三种情况:汉明权重(又称按位人口数)减少,不变或增加. ..
发布时间:2020-05-26 19:24:16 其他开发

使用Perl将8位以外的GIF图像添加到PDF

我试图将8位以外的非隔行GIF图像添加到PDF文档中,而无需使用 PDF::Create for Perl. LZWDecode算法是 PDF标准的一部分要求所有图像的LZW码最小为8位,并且PDF::Create硬编码为仅嵌入8位图像. 到目前为止,我已经修改了PDF::Create中的>图像加载器读取5位图像并完全解码LZW流.然后,我可以使用PDF::Create中的编码器算法将 ..
发布时间:2020-05-25 04:52:03 其他开发

AVR中逻辑右移2的幂是否更快?

我想知道以2的幂进行移位时执行逻辑右移是否更快 例如,是 myUnsigned >> 4 比任何更快 myUnsigned >> 3 我很高兴每个人的第一反应就是告诉我,不要担心像这样的小事情,它使用正确的算法和集合来削减重要的数量级.我完全同意您的意见,但是我实际上是在尽我所能从嵌入式芯片(ATMega328)中挤出所有东西-我刚刚获得了不愧为"woohoo!"的性能提 ..
发布时间:2020-05-21 20:33:34 C/C++开发

C语言中负数逻辑右移的实现

是否有一种简单的方法可以在c中对负数进行逻辑右移,例如我们对算术右移具有>>? 解决方案 右移负数会调用C中实现的定义行为.标准未指定会发生什么,而是由编译器指定.因此,它既可以导致算术移位,也可以导致逻辑移位,或者可能完全导致其他事情(例如旋转,尽管我从未听说过).除非您阅读了特定的编译器文档,否则您将无法知道或假定哪种方法适用于您的编译器. 但是,无符号数字始终使用逻辑移位.因此 ..
发布时间:2020-05-21 20:13:34 其他开发

c_ulong的rshift的ctypes重新实现

我正在通过ctypes访问C库,但遇到以下问题: 我正在使用ctypeslib生成“包装器"(ctypes命令以使用ctypes访问库). C库包含在此步骤中转换为python函数的宏. (为了尽可能独立于库的内部,我想在python中使用其中的一些宏.) 其中一个宏如下所示: # using the ctypes types myuint16_t = c_ushort myui ..
发布时间:2020-05-21 19:26:20 Python

在MIPS中向左移动

在方法一中,我想将要转移的数字存储在$ a0内部(例如5位),并且我想将$ t9转移5位,但是我遇到了麻烦.有人知道为什么吗? MethodOne: sw $a0, ($t8) sll $t9, $t9, $t8 解决方案 要向左移动可变量,请使用sllv: sllv $t9, $t9, $a0 sll仅占用立即移位量.不需要sw或$t8. ..
发布时间:2020-05-09 22:53:37 其他开发

MIPS使用位移运算符以二进制形式打印小数

在这里和在线其他地方,我已经阅读了许多与此主题相关的主题.有关移位的重要主题(不一定涉及汇编,但总的来说是以下主题:我了解移位是什么以及它是如何工作的.向右移动'n'可以将数字除以2 ^ n,向左移动可以将数字乘以2 ^ n. 我有一个应该在上周进行的实验,它的第三部分是提供一个程序,该程序将接受用户输入,先打印出二进制版本,然后打印出十六进制版本.完成此操作后,程序将在字符串的中心打印出某 ..
发布时间:2020-05-09 22:53:33 其他开发

SHR和SAR命令

我想确保我100%理解了这个概念,如果没有得到澄清. 在asm程序中,如果执行SHR 00110000b,则最终会得到00011000b. 但是,如果要在11111111b上执行SHR,您将得到错误的答案,应改为使用SAR?这是因为数字已签名? 解决方案 如果执行SHR 00110000b,则结果为00011000b 如果您向右移动一位,那就可以.您可以指定移动量,因此它不 ..
发布时间:2020-05-06 09:07:19 其他开发

是移位O(1)还是O(n)?

是移位操作O(1)或O(n)吗? 计算机通常需要更多的操作来转移31位而不是转移1位是否有意义? 或者,无论我们需要转移多少个位置,转移所需的操作次数是恒定都有意义吗? PS:想知道硬件是否合适. 解决方案 某些指令集限制为每条指令移位一位.而且某些指令集允许您指定要移入一条指令的任意数量的位,这在现代处理器上通常需要一个时钟周期(现代是故意含糊的字).请参阅 dan04 ..
发布时间:2020-04-27 03:30:43 其他开发