Tag: 位运算符

如何使用按位运算符检查整数是偶数还是奇数

如何使用按位运算符检查整数是偶数还是奇数

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); […]

JavaScript中的'x <<〜y'代表什么?

JavaScript中的'x <<〜y'代表什么? 我明白,按位SHIFT操作这样做: x << y AS x * 2 y 而波浪号~操作符可以: ~x AS -(x+1) 所以,我假设如下: 5 <<〜3 AS 5 * 2 -4或5 * Math.pow(2,-4) 它应该导致0.3125 。 但是,当我运行5 << ~3 1342177280 ,结果是1342177280 。 什么是一步一步的解释? 如何以及为什么这个操作组合会导致1342177280而不是0.3125 ? (这个问题类似于Stack Overflow问题关于按位SHIFT 运算符,什么是按位运算符?

在Android中删除一个油漆标志

我的代码如下所示: TextView task_text = (TextView) view.findViewById(R.id.task_text); task_text.setPaintFlags( task_text.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 这导致文字上出现罢工效果。 但是,我想知道如何删除一旦设置标志,以及如何检测标志设置。 我知道这是一个按位操作,但我已经尝试了〜和 – 运营商,都没有工作。

在Java中如何移位工作?

我有这样的说法: 假设字节x的位值是00101011. x>>2的结果是什么? 我如何编程,并可以解释我在做什么?

我在哪里可以在JavaScript中使用一个按位运算符?

我读过这个 ( https://stackoverflow.com/quest … ),所以我知道什么是按位运算符,但我仍然不清楚如何使用它们…任何人都可以提供任何现实世界一个位运算符在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;

是否定义了有符号整数的按位运算的结果?

我知道>>符号整数上的行为可以取决于实现(具体来说,左操作数是负数时)。 其他人呢: ~ , >> , & , ^ , | ? 当它们的操作数是内置types( short , int , long , long long )的有符号整数时,保证结果是相同的(就位内容而言),好像它们的types是无符号的?

!!〜(不是不用颚化/砰砰砰砰声)改变'contains / included'数组方法调用的结果吗?

如果你在这里阅读jQuery inArray页面的注释,那么有一个有趣的声明: !!~jQuery.inArray(elm, arr) 现在,我相信一个双重感叹号将结果转换为typesboolean ,值为true 。 我不明白什么是在所有这些使用波浪号( ~ )运算符? var arr = ["one", "two", "three"]; if (jQuery.inArray("one", arr) > -1) { alert("Found"); } 重构if语句: if (!!~jQuery.inArray("one", arr)) { alert("Found"); } 分解: jQuery.inArray("one", arr) // 0 ~jQuery.inArray("one", arr) // -1 (why?) !~jQuery.inArray("one", arr) // false !!~jQuery.inArray("one", arr) // true 我也注意到,如果我把前面的波浪号放在前面,结果是-2 。 ~!!~jQuery.inArray("one", arr) // -2 […]

为什么我们经常使用`||`而不是`|`,有什么区别?

我只是想知道为什么我们通常使用逻辑OR || 两个布尔之间不是按位或| ,虽然他们都运作良好。 我的意思是,看看下面的内容: if(true | true) // pass if(true | false) // pass if(false | true) // pass if(false | false) // no pass if(true || true) // pass if(true || false) // pass if(false || true) // pass if(false || false) // no pass 我们可以使用| 而不是|| ? 和&和&&一样的东西。