「 」與「 」,「 」與「 」的異同

2021-10-12 02:35:24 字數 472 閱讀 1691

2018-10-18 by loki

「&」和「|」稱為布林運算子

「&&」和「||」稱為邏輯運算子,或者條件布林運算子。

兩種運算子得到的結果完全相同,但得到結果的方式不同。

邏輯運算子效能比較好,它先檢查第乙個運算元的值,再根據該運算元的值進行操作,在某些情況下可能不處理第二個運算元。

如果「&&」運算子的第乙個運算元是false,就不需要考慮第二個運算元的值了,因為無論第二個運算元的值是什麼,其結果都是false。

同樣,如果第乙個運算元是true,「||」運算子就返回true,無需考慮第二個運算元的值。

布林運算子「&」和「|」卻不是這樣,計算機總是對「&」和「|」前後的兩個運算元進行運算。

因為運算元的就算是有條件的,如果使用「&&」和「||」運算子來代替「&」和|,效能會有一定提高。在大量使用這些運算子的應用程式中這表現得尤為明顯。

原則上,盡可能使用邏輯運算子「&&」和「||」。

與 , 與 , 與 的區別

首先 和 稱為布林運算子,和 稱為條件布林運算子。兩種運算子得到的結果完全相同,但得到結果的方式又乙個重要區別 條件布林運算子效能比較好。他檢查第乙個運算元的值,再根據該運算元的值進行操作,可能根本就不處理第二個運算元。如果 運算子的第乙個運算元是false,就不需要考慮第二個運算元的值了,因為無論...

51Nod1407 與與與與

有n個整數,問從他們中取出若干個數字相與之後結果是0的有多少組。答案比較大,輸出對於 1,000,000,007 1e9 7 取模後的結果。input 第一行輸入乙個整數n。1 n 1,000,000 第二行有n個整數a 0 a 1 a 2 a n 1 以空格分開.0 a i 1,000,000 o...

容斥 51nod 1407 與與與與

這道題的方向不是o n o n o n 而是 o v o v o v 我們發現答案為 全集 an d mathrm and 有至少 1 11 位 0 00 的 an d mathrm and 後有至少 2 22 位 0 00 的 因此我們可以根據乙個數字 and mathrm and 操作後的位數來...