Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
模板化无分支 int 最大/最小函数
我正在尝试编写一个无分支函数来返回两个整数的 MAX 或 MIN 而不求助于 if 或 使用通常的技术 https stackoverflow com questions 227383 how do i programmatically r
c
performance
templates
BitManipulation
branchless
无需使用abs函数或if语句即可获取绝对值
我在想如何在不使用的情况下获得整数的绝对值if声明也不abs 起初我使用的是左移位 lt lt 试图将负号移出范围 然后将位右移回原来的位置 但不幸的是它对我不起作用 请让我知道为什么它不起作用以及其他替代方法 From 位摆弄黑客 htt
c
BitManipulation
按位移位(左移或右移)有什么作用以及它的用途是什么?
我见过运营商 gt gt and lt lt 在我看过的各种代码中 我真正理解的都不是 但我只是想知道它们实际上做了什么以及它们的一些实际用途是什么 如果班次就像x 2 and x 2 与实际使用的真正区别是什么 and 运营商 有性能差异
BitManipulation
bitwiseoperators
bitshift
在 C 中实现逻辑右移
我正在致力于仅使用按位运算符在 C 中创建逻辑右移函数 这是我所拥有的 int logical right shift int x int n int size sizeof int size of int arithmetic shift
c
BitManipulation
ConstantTimeByteEq 如何工作?
在大神的密码库里 找到了这个函数ConstantTimeByteEq http golang org src pkg crypto subtle constant time go s 897 936 L17 它有什么作用 如何工作 Cons
go
BitManipulation
Java 中字节数组的位移操作
如何将字节数组向右移动 n 个位置 例如将 16 字节数组右移 29 个位置 我在某处读到可以使用 long 来完成 会使用这样的长工作 Long k1 0 到 7 的字节数组 Long k2 8 到 15 的字节数组 然后使用 Long
Java
BitManipulation
如何使用按位运算根据另外两个字节来分配一个字节的特定位? (根据蒙版进行位混合)
我有3个字节 一个字节决定了第 3 个字节的哪些位需要更改 1 表示位需要更改 0 表示不应发生更改 第 2 个字节决定变化的位分配为 1 还是 0 第三个字节是发生变化的地方 有没有办法使用按位运算符来实现此目的 如果是这样 怎么办 一个
c
BitManipulation
有条件地使用按位运算符
条件运算符如何使用按位运算符表示 这是一个家庭作业问题 我必须仅使用按位运算来实现条件运算符 那就很简单了 如果if允许使用语句 但它必须是严格的按位运算符 仅运营商 gt gt and lt lt 可以使用 不if可以使用语句或循环 该函
c
BitManipulation
在一个整数中找到另一个整数的 MSB 位置左侧的 N 个连续零位
问题是 给定一个整数val1然后 给定第二个整数 找到最高位组 最高有效位 的位置val2找到第一个整数生成的位置左侧的未设置位的连续区域 width指定minimum必须在连续中找到的未设置位的数量 即width里面没有 0 这是我的解决
c
BitManipulation
在 C++ 中求和 1<<2 和 1<<3 时出现奇怪的输出
所以我只是尝试用 C 进行一些位操作 这是我尝试过的 int a 1 lt lt 2 cout lt
c
BitManipulation
operatorprecedence
什么是低位和高位?
谁能告诉我什么是低位和高位 如何识别高位和低位 下面是二进制形式 如何0110里面有更高位吗 0110 0111 1100 1010 1100 0111 1001 1011 就像十进制一样 二进制中较高位通常写在左侧 所以如果你看到0111
Binary
BitManipulation
bit
(x % 64) == (x & 63) 背后的基本原理是什么? [复制]
这个问题在这里已经有答案了 可能的重复 按位与代替模运算符 https stackoverflow com questions 3072665 bitwise and in place of modulus operator 有人可以解释使
Algorithm
BitManipulation
bitwiseoperators
如何编写恒定时间函数将最高有效位复制到所有位
我想用 C 语言编写一个函数 它采用以下的 MSBuint8 t 如果已设置 则返回0xFF如果不0x00 简而言之 它返回一个整数 其中所有位都设置为与 MSB 相同的值 但我想以完全恒定的时间方式来完成它 没有分支 没有数组偏移 只是数
c
Cryptography
BitManipulation
计算无符号长整型序列中的公共位
我正在寻找比下面更快的算法 给定一个 64 位无符号整数序列 返回该序列中每个 64 位被设置的次数计数 Example 4608 000000000000000000000000000000000000000000000000000100
c
BitManipulation
对布尔值使用按位非运算符 (~) 是否会引发未定义行为?
如果 C 程序将按位非运算符 应用于布尔值 是否会调用未定义行为 例如 以下程序定义明确吗 bool f false bool f2 f is f2 guaranteed to be true or is this UB bool t tr
c
BitManipulation
languagelawyer
undefinedbehavior
如何找到第一个设置位的索引
是否有按位解决方案来查找仅设置一个位的掩码中第一个设置位的索引 例如对于 8 则为 3 对于 16 gt 4 依此类推 请不要循环 我能想到的最佳解决方案是创建位到索引的映射 function firstBit x return Math
javascript
BitManipulation
使用乘法执行整数除法[重复]
这个问题在这里已经有答案了 查看编译器生成的 x86 程序集 我注意到 无符号 整数除法有时会实现为整数乘法 这些优化似乎遵循以下形式 value n gt value 0xFFFFFFFF n 1 0x100000000 例如 除以 9
Assembly
Optimization
BitManipulation
Division
multiplication
将零填充到二进制数中特定位置的命令?
我需要将零填充到二进制数的特定位置 循环二进制数的数组形式 例如dec2bin 43 添加零并调整大小听起来像是轮子的重新发明 如何在Matlab中有效地将零填充到二进制数 Looping positions 1 3 6 x de2bi 4
MATLAB
BitManipulation
声明按位运算的掩码
我是这样的低级操作的新手 我希望有人能指出我在这里犯的明显错误 Input value 00111100 I want to get the value of the bits at indexes 1 3 i e 0111 byte ma
Java
BitManipulation
bitmask
什么是位掩码?
我对 C 编程相当陌生 并且遇到了位掩码 位掩码的一般概念和作用是什么 非常感谢例子 掩码定义要保留哪些位以及要清除哪些位 屏蔽是将屏蔽应用于值的行为 这是通过执行以下操作来完成的 按位与运算以提取值中的位子集 按位或运算以设置值中的位子集
c
BitManipulation
bitwiseoperators
terminology
bitmask
«
1
2
3
4
5
6
...19
»