c語言中 和 還有 分別是什麼意思?

時間 2021-05-06 21:40:53

1樓:今夕是何年

「&&」(邏輯與)是邏輯運算子。

「邏輯與」相當於生活中說的「並且」,就是兩個條件都同時成立的情況下「邏輯與」的運算結果才為「真」。

「&」是位運算子。

2樓:

&&是邏輯與。||是邏輯或。&是位與。還有乙個你沒提到的,|是位或。

「與」和「或」理解起來應該沒什麼難度吧?「與」就是「並且」的意思,比如現在有乙個數字a,

a < 1 && a > 0

就是表示a在0和1之間;

a > 1 || a < 0

就表示a比一大,或者a比零更小。

那麼「位」和「邏輯」有什麼區別呢?首先是概念不一樣,乙個是針對計算機位進行的運算,乙個是邏輯上的運算。

至於實際效果上的區別,我們來看一下,假如現在a是2,a > 1 | a < 0是這樣運算的:首先計算a > 1,是true(1),下一步計算a < 0,是false(0),接下來計算true | false,得到true。而如果運算a > 1 || a < 0,第一步計算a > 1,是true,ok,不用再計算下去了,後面無論是true或者false都不重要,整個式子的值總是true的。

這種情況下,使用邏輯與、邏輯或,將會少進行一次運算,為右側運算進行計數之類的操作就可以發現這個現象。

3樓:Moee

就講一下&&和&的區別吧,我記得知乎上應該是有類似問題的。

&&是"邏輯與",&是"位與"。

"邏輯與"關注的是符號兩邊數的真值。(C語言中可以這樣看:0是false,0以外的值都為true)

而"位與"是將符號兩邊的數按二進位制位乙個乙個地進行"與運算"後計算出來的結果。

再舉個例子,6&&1 和 6&1 的區別:

6&&1 = true(因為符號兩邊都為true,所以結果為true)

6&1 = 0(6的二進位制為110,與001相與的結果就是0)

C語言中 nnn是什麼意思

Tanky Woo 000 nul 001 soh 002 stx 003 etx 004 eot 005 enq 006 ack 007 bel 010 bs 011 ht 012 nl 013 vt 014 np 015 cr 016 so 017 si 020 dle 021 dc1 022 ...

c語言中 p a什麼意思?

Flint Stone 首先 C語言 其次這是乙個指標,指標是什麼?是控制位址的指標的常用運算子 先說後面那個,你學C語言,那麼你肯定用過scanf d n 這樣的輸入吧,n是輸入到n的位址,就是取位址符,你可以試試cout n endl 輸出是乙個位址,十六進製制的。你可以找一篇部落格好好看看。定...

組合語言中的 向C進製 c是什麼意思?

孟桓慶 Status Flags The status flags reflect the outcomes of arithmetic and logical operations performed by the CPU.The carry flag CF is set when the res...