❶ c語言中 4&&5的值為什麼是1 4&5的值是多少 邏輯與和按位與有什麼區別
4&&5的值為1,這里的1是表示真。因為4和5都是非0值。非0即為真。真真得真。所以結果為1。
4&5的值為4。這里4的二進制是shu「100」,5的二進制是「101」。
按位與就是100&101=100(即十進制為4);
&&是邏輯運算符,兩個結果中有一個0結果才是0,比如0&&1,結果是0;1&&0,結果也是0。還有一個&是位運算符。
(1)位運算和邏輯運算c語言擴展閱讀:
在形式邏輯中,邏輯運算符或邏輯聯結詞把語句連接成更復雜的復雜語句。例如,假設有兩個邏輯命題,分別是「正在下雨」和「我在屋裡」,我們可以將它們組成復雜命題「正在下雨,並且我在屋裡」或「沒有正在下雨」或「如果正在下雨,那麼我在屋裡」。一個將兩個語句組成的新的語句或命題叫做復合語句或復合命題。
❷ 學習C語言
舉個例子來說把,3 和 5
邏輯運算符返回真或假(c語言里用0表示假,非0表示真)
3||5 他的值是 真(非0)
3&&0 的值為假(0)
一般用在條件判斷中 if(!3),3是真(非0),!3就是假。
位運算符
按位與 3&7,
先轉換成二進制 011 & 111
都為1的位結果是1,否則是0,運算後的結果是 011(3).也就是說按位運算的結果仍是一個數字,一般不用在條件判斷中。
❸ C語言的邏輯運算和按位運算怎麼區分
1、作用的不同
&&、||是邏輯運算符,用於從左到右求表達式的真值。假設x=1;y=2;那麼x&&y=1;x||y=1。
&、|是位運算符,是對x,y進行位運算,x,y取值如上,那麼有x&y=0;(x的二進製表示為00,y的二進製表示為10)。
2、判斷這個表達式的真或假的不同
&和|既是邏輯運算符也是位運算符,而&&和||只是邏輯運算符。
當&與&&同為邏輯運算符時,它們都用於連接兩個Boolean類型的表達式,當&和&&的兩端表達式同時為真時,表達式的結果為真,只要有一端為假,那麼表達式結果為假。
例:3>5&3>2;3>5&&3>2;
當|和||的兩端表達式同時為假時,表達式的結果為假,只要有一端為真,那麼表達式結果為真。
3、計算方式不同
當使用&運算符:計算機在判斷表達式的值的時候,先判斷3>5的值為假,然後再判斷3>2的結果為真,於是最後的結果是假&真為假;
但是當我們使用&&運算符的時候:計算機先判斷3>5的值為假,此時表達式的結果一定為假,所以計算機就不再往下判斷了,判定表達式結果為假。