标签: bitwise-operators

一个明确的,外行的解释|之间的区别 和|| 在c#?

好的,所以我已多次阅读过这篇文章,但我还没有听到一种清晰,易懂(且令人难忘)的方法来了解它们之间的区别:

if (x | y)
Run Code Online (Sandbox Code Playgroud)

if (x || y)
Run Code Online (Sandbox Code Playgroud)

..在C#的背景下.任何人都可以帮助我学习这个基本事实,以及C#如何具体地对待它们(因为它们似乎做同样的事情).如果给定代码片段之间的差异是无关紧要的,我应该将其默认为最佳实践?

c# bitwise-operators logical-operators

45
推荐指数
5
解决办法
8384
查看次数

如何对浮点数执行按位运算

我试过这个:

float a = 1.4123;
a = a & (1 << 3);
Run Code Online (Sandbox Code Playgroud)

我得到一个编译错误,说操作数&不能是float类型.

当我做:

float a = 1.4123;
a = (int)a & (1 << 3);
Run Code Online (Sandbox Code Playgroud)

我让程序运行.唯一的事情是按位操作是在舍入后获得的数字的整数表示上完成的.

以下也是不允许的.

float a = 1.4123;
a = (void*)a & (1 << 3);
Run Code Online (Sandbox Code Playgroud)

我不明白为什么int可以投,void*但不是float.

我这样做是为了解决Stack Overflow问题中描述的问题如何使用遗传算法求解线性方程?.

c++ floating-point bitwise-operators genetic-algorithm

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

如何在python中进行按位独占或两个字符串?

我想在python中执行按位异或两个字符串,但python中不允许使用xor字符串.我该怎么做 ?

python string bitwise-operators

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

用于简单地翻转整数中所有位的按位运算符?

我必须以整数的二进制表示形式翻转所有位.鉴于:

10101
Run Code Online (Sandbox Code Playgroud)

输出应该是

01010
Run Code Online (Sandbox Code Playgroud)

与整数一起使用时,实现此操作的按位运算符是什么?例如,如果我正在写一个类似的方法int flipBits(int n);,身体会发生什么?我只需要翻转数字中已经存在的内容,而不是整数中的所有32位.

java binary bit-manipulation bit bitwise-operators

45
推荐指数
4
解决办法
8万
查看次数

什么`!!〜'在javascript中意味着什么?

可能重复:
jQuery对象之前的tilde(〜)是做什么的?

!!~在阅读时在代码中发现了一个奇怪的内容:https://github.com/LearnBoost/mongoose/blob/master/lib/document.js#L678

Document.prototype.isModified = function (path) {
  return !!~this.modifiedPaths.indexOf(path);
};
Run Code Online (Sandbox Code Playgroud)

我读过那是什么!! (不是)JavaScript中的运算符?以及如何:〜运算符?; 为什么作者!!~在这里使用?

我试过了:

!!~1  // -> true
!!~0  // -> true
!!~-1 // -> false
!!~-2 // -> true
Run Code Online (Sandbox Code Playgroud)

似乎它只是false在数字的时候-1.这样对吗?为什么不核对一下电话号码是不是-1还是>=0

javascript operators bitwise-operators mongoose comparison-operators

45
推荐指数
0
解决办法
5421
查看次数

如何在Kotlin中组合Intent标志

我想结合两个意图标志,就像我们在android中所做的那样

Intent intent = new Intent(this, MapsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
Run Code Online (Sandbox Code Playgroud)

我尝试过这样的事情,但它对我不起作用

val intent = Intent(context, MapActivity::class.java)
intent.flags = (Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK)
Run Code Online (Sandbox Code Playgroud)

java android bitwise-operators android-intent kotlin

45
推荐指数
3
解决办法
9101
查看次数

在C#中,两个左尖括号"<<"是什么意思?

基本上是标题中的问题.我正在看MVC 2源代码:

[Flags]
public enum HttpVerbs {
    Get = 1 << 0,
    Post = 1 << 1,
    Put = 1 << 2,
    Delete = 1 << 3,
    Head = 1 << 4
}
Run Code Online (Sandbox Code Playgroud)

而我只是好奇双左眼角饼干的<<作用.

.net c# operators bit-shift bitwise-operators

43
推荐指数
14
解决办法
4709
查看次数

AND 0xFF做什么?

在以下代码中:

short = ((byte2 << 8) | (byte1 & 0xFF))
Run Code Online (Sandbox Code Playgroud)

目的是&0xFF什么?因为其他有时我认为它写成:

short = ((byte2 << 8) | byte1)
Run Code Online (Sandbox Code Playgroud)

这似乎也很好吗?

c bit-manipulation bit-shift bitwise-operators

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

a&b的结果是什么?

这很尴尬,但按位AND运算符在C++标准中定义如下(强调我的).

执行通常的算术转换; 结果是其操作数的按位AND功能.运算符仅适用于整数或无范围的枚举操作数.

这看起来对我来说毫无意义.据我所知,"按位AND函数"在标准中的任何地方都没有定义.

我知道AND功能已被充分理解,因此可能不需要解释."按位"一词的含义也应该相当清楚:该函数应用于其操作数的相应位.但是,操作数的位构成不清楚.

是什么赋予了?

c++ bitwise-operators language-lawyer

39
推荐指数
3
解决办法
6618
查看次数

为什么asm.js会降低性能?

为了了解它的表现,我手工编写了一个非常短的asm.js模块,它使用32位整数数学和类型化数组(Int32Array)模拟2D波动方程.我有三个版本,尽可能相似:

  1. 普通的(即易读的,虽然是C风格的)JavaScript
  2. 与Firefox相同,添加了asm.js注释,以便它通过验证器,根据Firefox和其他工具
  3. 与2相同,但没有"使用asm"; 指令在顶部

我在http://jsfiddle.net/jtiscione/xj0x0qk3/上留下了一个演示,它允许您在模块之间切换以查看使用每个模块的效果.这三个都有效,但速度不同.这是热点(使用asm.js注释):

for (i = 0; ~~i < ~~h; i = (1 + i)|0) {
    for (j = 0; ~~j < ~~w; j = (1 + j)|0) {
        if (~~i == 0) {
            index = (1 + index) | 0;
            continue;
        }
        if (~~(i + 1) == ~~h) {
            index = (1 + index) | 0;
            continue;
        }
        if (~~j == 0) {
            index = (1 + index) | 0;
            continue;
        }
        if (~~(j …
Run Code Online (Sandbox Code Playgroud)

javascript performance bitwise-operators asm.js

39
推荐指数
1
解决办法
1912
查看次数