1樓:薊竹青釋娟
4&&5的值為1.這裡的1是表示真。因為4和5都是非0值。非0即為真。真真得真。所以結果為1
4&5的值為4。這裡4的二進位制是「100」,5的二進位制是「101」
按位與就是100&101=100(即十進位制為4);
2樓:匡起雲潘丙
先化成二進位制,在進行與就可以了的。
-4=1
100取反+1=1
100-6=1
110取反+1=1
010進行&
=1000
取反+1=1
1000=-8;
c語言中按位與(&)運算子是什麼意思
3樓:蟲心菜
是將二進位制數按照位的對應相與,得到一個新的二進位制數。1與0為0;1與1為1;0與0為0。
分析如下:
就是二進位制的每一位相與。
比如:1010 0011& 0000 1111,結果為0000 0011。也就是與上0相當於把那位數清0,與上1相當於把那位保留。
擴充套件資料:
1、按位與運算子"&"是雙目運算子。 其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 ,否則為0。參與運算的數以補碼方式出現。
例如:9&5可寫算式如下: 00001001 (9的二進位制補碼)&00000101 (5的二進位制補碼) 00000001 (1的二進位制補碼)可見9&5=1。
按位與運算通常用來對某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 運算 ( 255 的二進位制數為11111111)。
4樓:生活如歌
比如:1010 0011
& 0000 1111
------------------------0000 0011
也就是與上0相當於把那位數清0,與上1相當於把那位保留
5樓:鞏採南檢豐
一個位元組有
8位也就
是有一個8位的2進位制數,比如
0000
0001
表示的是1
,0111
1111
表示127,而位運算
實際就是
2進位制的運算
&按位與
比如3&7
意思是0000
0011位與
0000
0111,結果是
3也就是0000
0011。意思是如果2個數字同一為一,有0為0。
|按位或
比如3|7
意思是0000
0011位或
0000
0111,
結果是7也就是0000
0111.意思是2個數字對比有一為一,同0為0.
^按位異或
比如3^7
結果就是4
0000
0100,
就是說2個數 每一位數字不同則為1相同則為0 ~
取反 這個意思是
把每一位上的數字取反
為0則變為1
為1則變為0
如~3。
<<左移表示把這個數字整體
向左移動多少位
如1<<2,表示把1向左移動2位
也就是說把
0000
0001
向左移動2位
就是0000
0100.
也就是說1變成了100。
>>右移就是把這個數的
末尾多少位
去掉如17>>3
表示0001
0001
的最後3位去掉
就變成了
0000
0010
6樓:匿名使用者
就是二進位制的每一位相與
假如a=0b0111(0b表示二進位制),b=0b1000,那麼a&b=
表示他們的每一位相與 結果是0b0000,不是二進位制的化成二進位制,希望對你有幫助。
7樓:匿名使用者
取地址操作符!就是取出&後物件或者變數的,儲存位置的地址
c語言中 4&&5的值為什麼是1 4&5的值是多少 邏輯與和按位與有什麼區別
8樓:匿名使用者
4&&5的值為1.這裡的1是表示真。因為4和5都是非0值。非0即為真。真真得真。所以結果為1
4&5的值為4。這裡4的二進位制是「100」,5的二進位制是「101」 按位與就是100&101=100(即十進位制為4);
9樓:匿名使用者
&&是邏輯與
false && false = falsefalse && true = falsetrue && false = falsetrue && true = true
&是位與
先將數看成2進位制的,然後按照上面的邏輯與的規則,對每一位進行邏輯與比如4 = 100
5 = 101
4 & 5 = (100)&(101)
1 0 0
1 0 1
-----------------
= 1 0 0
4 & 5 = (100)&(101) = (100) = 4
c語言中的按位運算子和邏輯運算子?
10樓:匿名使用者
&&是邏輯與,計算機的邏輯無非兩種,0和非0,7和8都是非0,那麼7&&8就是非0,也就是真了。
&是位操作,即按兩個運算元的二進位制每一位進行與運算7的二進位制:00000111
8的二進位制:00001000
與運算後為:00000000,結果就是假了
11樓:沙支誇依
預備知識:
邏輯值即bool值,要麼是true,要麼是false.
算數值,也就是我們通過加、減、乘、除、異或、同或等運算後得到的數值。
當然,在一定的場合中,邏輯值和算數值是可以轉換的。
c語言歸定:
邏輯值轉算數值:true等價於1,false等價於0例:void main()
輸出:1 0
算數值轉邏輯值時:
0等價於false,非0等價於true.
注意:非0等價於true.也就是說負數也等價於true的。
---------------
要我們來看書上的這個例子.
int x=7;
if (x&&8)
由此可知,7>0即為true,8>0也為true。那麼,true&&true當然也是true了。
-------------
int x=7; //7的二進位制寫法是 0111bif (x&8)//8的二進位制寫法是 1000b那麼,當111b和1000b取與操作的時候,當然是0了。那麼,在邏輯表裡就是false了
12樓:月影低徊
二者是不同的概念。
邏輯運算是針對真(1)和假(0)兩個邏輯值來進行的操作。具體到數字時,0對應假。非零對應真。故而7&&8結果是真。
位運算是整數特有的造作,是對運算元的二進位制編碼的每一位進行運算
13樓:eros方塊
7: 00000111
8: 00001000
按位與就是每位相與,答案是
7&8:00000000
當然是假
C語言,位運算在解壓中的應用,C語言的位運算在實際操作中有什麼用
其實就一個作用,加快解壓速度,要知道位運算速度奇快 望採納,謝謝 c語言的位運算在實際操作中有什麼用 這個就要涉及計算機組成原理,也就是數字在計算機中具體如何表示了,比如9 4 36,9在計算機中用2進製表示,1001,就是這個1001連續加上4次,但是如果移位的話就僅僅移兩個位,1001向左移位變...
C語言位運算對的疑問,C語言位運算裡這些怎麼用?
實際位操作時,都是按儲存型別的所有位進行的char 8位 short 16位 int 32位 前面的 實際操作時也是按上述的位數進行的 至少是8位 只是寫出來時全部是0,所以就省略了。因為取反後,0就變成了1,就不能省略了。所有位運算都是8個bit位來運算的,因為一個byte是最基本的單位 你說的 ...
C語言程式設計 輸入x的值,按下面公式計算並輸出y的值(輸出數
include include int main void return 0 include include int main flag後的條件,你自己改吧。c語言程式設計 輸入x的值,按下面公式計算並輸出y的值 輸出資料佔8列,精確到0.001 include include int main v...