标签: bitwise-operators

在Android中删除Paint Flag

我的代码看起来像这样:

    TextView task_text = (TextView) view.findViewById(R.id.task_text);
    task_text.setPaintFlags( task_text.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
Run Code Online (Sandbox Code Playgroud)

这会导致通过效果出现在文本上.但是,我想知道如何设置删除标志,以及如何检测标志已设置.

我理解这是一个按位操作,但我已经尝试了两个〜和 - 运算符,都没有工作.

android bitwise-operators

78
推荐指数
6
解决办法
3万
查看次数

什么使用单管'|' 在函数参数中吗?

以下面的代码为例:

phpinfo(INFO_MODULES | INFO_ENVIRONMENT | INFO_VARIABLES);
Run Code Online (Sandbox Code Playgroud)

正在使用单个参数,但我提供了由单个管道符号分隔的选项列表.

  • 函数中的参数值究竟发生了什么?
  • 我可以在自己的功能中使用相同的东西吗?
  • 是这样的,并且有什么好处,而不是说传递一个数组呢?

先感谢您.

php arguments function bitwise-operators

75
推荐指数
2
解决办法
2万
查看次数

按位运算的实际应用

  1. 你有什么用bitwise操作?
  2. 他们为什么这么方便?
  3. 有人可以推荐一个非常简单的教程吗?

c# bitwise-operators

73
推荐指数
4
解决办法
3万
查看次数

在大集合中有效地找到具有低汉明距离的二进制字符串

问题:

给定一个大的(~1亿)无符号32位整数列表,无符号32位整数输入值和最大汉明距离,返回在输入值的指定汉明距离内的所有列表成员.

保持列表的实际数据结构是开放的,性能要求决定了内存中的解决方案,构建数据结构的成本是次要的,查询数据结构的低成本是至关重要的.

例:

For a maximum Hamming Distance of 1 (values typically will be quite small)

And input: 
00001000100000000000000001111101

The values:
01001000100000000000000001111101 
00001000100000000010000001111101 

should match because there is only 1 position in which the bits are different.

11001000100000000010000001111101

should not match because 3 bit positions are different.
Run Code Online (Sandbox Code Playgroud)

到目前为止我的想法:

对于汉明距离为0的退化情况,只需使用排序列表并对特定输入值进行二分搜索.

如果汉明距离只有1,我可以翻转原始输入中的每一位并重复上述32次.

如何有效地(不扫描整个列表)发现汉明距离> 1的列表成员.

algorithm bit-manipulation bitwise-operators hamming-distance

72
推荐指数
2
解决办法
2万
查看次数

在C++中使用按位运算符进行布尔运算

是否有任何理由不在C++中对"bool"值使用按位运算符&,|和^?

我有时会遇到两个条件中只有一个是真的(XOR)的情况,所以我只是将^运算符抛出到条件表达式中.我有时也希望评估条件的所有部分是否结果是真的(而不是短路),所以我使用&和|.我有时也需要累积布尔值,而且&=和| =非常有用.

这样做时我已经有了一些眉毛,但代码仍然比其他方面更有意义和更清洁.是否有任何理由不将这些用于布尔?是否有任何现代编译器会给出不好的结果?

c++ boolean bitwise-operators

71
推荐指数
5
解决办法
5万
查看次数

我在哪里使用JavaScript中的按位运算符?

我读过"什么是按位运算符?" ,所以我知道运算符什么 ,但我还不清楚如何使用它们.任何人都可以提供任何实际的例子,说明位运算符在JavaScript中有用吗?

谢谢.

编辑:

只是深入研究jQuery源代码,我发现了几个使用按位运算符的地方,例如:(只有&运算符)

// Line 2756:
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));

// Line 2101
var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
Run Code Online (Sandbox Code Playgroud)

javascript bitwise-operators

69
推荐指数
9
解决办法
3万
查看次数

Python中的管道字符

|在函数调用中看到一个"管道"字符():

res = c1.create(go, come, swim, "", startTime, endTime, "OK", ax|bx)
Run Code Online (Sandbox Code Playgroud)

管道的含义是什么ax|bx

python pipe bitwise-operators

64
推荐指数
6
解决办法
4万
查看次数

JavaScript中&和&&之间的区别是什么?

JavaScript中&和&&之间的区别是什么?

例如,代码:

var first  = 123;
var second = false;
var third  = 456;
var fourth = "abc";
var fifth  = true;
alert(first & second); // 0
alert(first & third);  // 72
alert(first & fourth); // 0
alert(first & fifth);  // 1

alert(first && second); // false
alert(first && third);  // 456
alert(first && fourth); // abc
alert(first && fifth);  // true
Run Code Online (Sandbox Code Playgroud)

似乎&&是一个逻辑"和",如果两者都是真的,它总是给我第二个值.

但是什么是&?

(顺便说一句,&&似乎是Python中的"和";&似乎是&在Python中.)

javascript bitwise-operators logical-operators

64
推荐指数
2
解决办法
7万
查看次数

按位移位(左或右)做什么以及它用于什么?

我已经看过运算符>>和我看过的<<各种代码(我实际上并没有理解),但我只是想知道它们实际上做了什么以及它们的实际用途是什么.

编辑

如果移位是喜欢x * 2x / 2,就是从实际使用的真正的区别*/运营商?有性能差异吗?

bit-manipulation bit-shift bitwise-operators

63
推荐指数
5
解决办法
11万
查看次数

布尔运算符与按位运算符

我很困惑何时应该使用布尔与按位运算符

__PRE__

可能有人开导我,当我用每时都会使用一个比其他影响我的结果吗?

python bitwise-operators boolean-operations

62
推荐指数
4
解决办法
3万
查看次数