问题标签 [bit-manipulation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
270821 浏览

C中的移位运算符(<<,>>)是算术还是逻辑?

在 C 中,移位运算符 ( <<, >>) 是算术还是逻辑?

0 投票
5 回答
25341 浏览

有没有办法在 C# 中执行循环位移?

我知道以下是真的

但是,如果你移动得太远,位会从末端脱落。发生这种情况的地方与您正在使用的整数大小有关。

有没有办法执行移位,以便位旋转到另一侧?我正在寻找单个操作,而不是 for 循环。

0 投票
27 回答
1446040 浏览

您如何设置、清除和切换单个位?

您如何设置、清除和切换位?

0 投票
9 回答
9320 浏览

C中的按位索引?

我正在尝试实现我曾经拥有的数据压缩想法,并且由于我正在想象针对大量测试数据运行它,因此我曾考虑用 C 对其进行编码(我主要有 Ruby 和Tcl。)

浏览 O'Reilly 关于 C 的“奶牛”书籍,我意识到我不能简单地索引一个简单的“char”或“int”类型变量的位,因为我想做按位比较和运算符。

我的这种看法是正确的吗?对我来说使用枚举类型来表示位是否合理(并制作一个数组,并编写函数来转换为字符和从字符转换)?如果是这样,那么标准库中是否已经在某个地方定义了这种类型和函数?还有其他(更好的?)方法吗?有人可以指出我的某个地方是否有一些示例代码?

谢谢 -

0 投票
12 回答
7252 浏览

整数的位反转,忽略整数大小和字节序

给定一个整数 typedef:

或者

我有以下代码来反转整数的位:

只需要首先运行 reverse_int_setup(),它存储一个最高位打开的整数,然后对 reverse_int( arg ) 的任何调用都返回arg,并将其位反转(用作二叉树的键,取自增加计数器,但这或多或少无关紧要)。

在调用 reverse_int_setup(); 之后,是否有一种与平台无关的方法可以在编译时获得 max_int 的正确值?否则,是否有一种算法你认为比我对 reverse_int()的算法更好/更精简?

谢谢。

0 投票
19 回答
48508 浏览

检查两个整数是否具有相同符号的最简单方法?

检查两个整数是否具有相同符号的最简单方法是什么?是否有任何简短的按位技巧来做到这一点?

0 投票
10 回答
805 浏览

给定一个无符号整数,获取设置位的“索引”的最快方法是什么?

因此,例如 0110 设置了位 1 和 2,1000 设置了位 3 1111 设置了位 0、1、2、3

0 投票
11 回答
176197 浏览

Most common C# bitwise operations on enums

For the life of me, I can't remember how to set, delete, toggle or test a bit in a bitfield. Either I'm unsure or I mix them up because I rarely need these. So a "bit-cheat-sheet" would be nice to have.

For example:

or

Can you give examples of all the other common operations, preferably in C# syntax using a [Flags] enum?

0 投票
4 回答
4109 浏览

Java中的位操作和输出

如果您有二进制字符串(字面意思是仅包含 1 和 0 的字符串对象),您将如何将它们作为位输出到文件中?

这是我正在研究的文本压缩器;它仍然困扰着我,最终让它工作会很好。谢谢!

0 投票
16 回答
77019 浏览

如何测试一个数字是否是 2 的幂?

我需要这样的功能:

谁能建议我怎么写这个?