c中按位與計算的結果,是什麼作用,能舉例嗎

2021-03-03 20:34:13 字數 3321 閱讀 2335

1樓:匿名使用者

將兩抄個參與與運算的數字按照二進位制進行與運算

比如一個數字是1,一個數字是2,兩個數字的二進位制分別為01和10,如果按照與運算結果就是00。

與運算最接近計算機運算方式,所以速度最快,也可以認為是彙編時代殘留吧!

2樓:紙迷金醉

example:

與運算可以用來許可權

控制:8位二進位制數,00000000,第一位代表專讀許可權,第二位代表寫許可權。只要將 這個數與屬上1000000即可得到代表讀許可權的值。

跟這一樣,如果某個二進位制位數很多的話,可以迅速得到某一位或者某幾位。

3樓:匿名使用者

按位與是把二進位制按位運算1&1 =1, 1&0=0,0&1=0.

一般用來

1把特定位清零,

如 把一個位元組值 低4位清零可 byte &= 0xf0;

2取特定位

如取一位元組的第4位 byte>>3 & 1;

c++中按位與有什麼用?怎麼用?

4樓:匿名使用者

一般是用來保留某些位,其他位清零。舉個例子,某個數字字元a,a可能是'0'或者'1'或者..或者'9',要將它轉化成數字,也就是0或者1或者..

或者9,你可以用a=a-'0',當然你可以寫成a-='0',這是作減法,可以達到目的。

如果你注意到'0'實際上是0x30,依次類推,'9'實際上是0x39的話,就可能想到將高4位清成0也能達到目的。於是你可以這樣a=a&0x0f,當然你愛寫成a&=15也是一樣的。

記得要保留不變的位,相與的數相應位置要是1,要清零的位相與的數相應位置要是0。

拿『7'變成7舉例,一般是寫出二進位制形式來算按位與

可以看出最後的00000111就是7

就這個例子而言不一定用按位與,但是這個容易想到也比較容易理解

5樓:匿名使用者

1、清零

如果想將一個二進位制數的某些位清零,就可以通過二進位制的0與運算。(清零的數是不唯一的)

1.1如,14的二進位制表示為:1110;讓它和1做與。

顯然,給位都得0000了。

2、獲取二進位制的某些指定位

如果想獲得指定的二進位制位,就只要和二進位制的1與運算了。

2.2如,15的二進位制表示為:1111,和1做與。

顯然我們會得到的是1,保留了低位0001,其他位都發生了變化。

什麼是c++的按位與運算,能說得詳細一點嗎?

6樓:黯湮灬逍遙

有2個char型數:

5:0000 0101

6:0000 0110

按位與:

0000 0111 <——每位都做與,0和0為0,其他為1.

就是7了。

7樓:超人漢考克一世

程式中的bai所有數在計算機記憶體中du都是以二進位制的形zhi式儲存的。位運算說穿了dao,就是直接版

對整數在記憶體中的二進位制權位進行操作。比如,& 運算本來是一個邏輯運算子,但整數與整數之間也可以進行 & 運算。舉個例子,6的二進位制是110,11的二進位制是1011,那麼6 & 11的結果就是2,它是二進位制對應位進行邏輯運算的結果(0表示false,1表示true,空位都當0處理)

8樓:匿名使用者

就是對二進位制數的每一位進行操作

比如a=10 (二進位制1010)

b=5 (二進位制0101)

那麼a&b= 0; a|b=15

c++中 & (按位與),怎麼運算。舉幾個例子

9樓:匿名使用者

按位與運算子"&"是雙目運算子。 其功能是參與運算的兩數各對應的二進位相與。

只有對應的兩個二進位均為1時, 結果位才為1, 否則為0。

比如

0010 0111&0000 1111=0000 0111

c++語言中按位異或賦值是什麼意思

10樓:

c++中資料一般都是按照多少位元組來儲存的,而我們知道一個位元組是有8位,

記憶體中每一位要麼是1要麼是0,

邏輯運算異或的運演算法則為a異或b=a'b或ab'(a'為非a)。

真異或假的結果是真,假異或真的結果也是真,真異或真的結果是假,假異或假的結果是假。就是說兩個值不相同,則異或結果為真。反之,為假。

比如說一個char型字元'15',在記憶體中表現為00001111,按位異或就是將對應為進行邏輯異或運算,運算結果再賦值給某個變數的某一位

c++語言中位操作是什麼意思

11樓:匿名使用者

在計算機中,一位元組佔8位,這樣表示的數的範圍為0-255,也即00000000-11111111。位就是裡面的0和1。

char c=100;

實際上c應該是01100100,正好是64h。其中高位在前,低位在後。

| |

第7位 第0位

目前的位運算子包括如下:

符號 描述

& 位邏輯與 運算的規則是當兩個位都為1時,結果為1,否則為0;

| 位邏輯或 運算的規則是當兩個位都為0時,結果為0,否則為1;

^ 位邏輯異或 ^ 運算的規則是當兩個位相同時,結果為0,否則為1;

~ 取補 ~ 運算的規則是當為1時結果為0,當為0時,結果為1。

<< 左移

>> 右移

位移運算子作用於其左側的變數,其右側的表示式的值就是移動的位數,運算結果就是移動後的變數結果。

向左移位就是在低位補0,向右移位就是在高位上補0。右移時可以保持結果的符號位,也就是右移時,如果最高位為1,是符號位,則補1而不是補0。

12樓:匿名使用者

就是對補碼(01)進行操作。

如3|4 = 0011 | 0100 = 0111 = 7.

3&4 = 0011 & 0100 = 0000 = 0.

等等。。。

13樓:丹鳳翔天

就是按位操作,計算機語言都是2機制,比如00001111&11110000就是00000000,分別對應位進行&

matlab中max函式的結果是什麼

你可以分步去看 me02 max max e02 me01 max e02 對一個矩陣的每一列求最大值 a 1,2 3,4 則 max a 3,4 me02 max me01 是求向量me01的最大值 對於上面的例子,就是 4 所以這個語句的意思就是求出一個矩陣的最大元素。其實上面的例子是等價於 m...

矛與盾的故事起因發展結果是什麼

矛與盾 的故事 起因 說的是一個人同時誇耀自己所賣的矛和盾。發展 有人提出質疑,賣矛與盾的人不能自圓其說。結果 諷刺了那些言過其實,說話又自相矛盾的人。矛與盾 簡介 出自韓非子著作,說的是一個人同時誇耀自己所賣的矛和盾,因自相牴觸而不能自圓其說,告誡人們說話 辦事要實事求是,不要言過其實,自相矛盾。...

12這道計算題的結果是什麼6212?這道計算題的結果是什麼?

應該是1,這是對運演算法則中乘法和除法運算次序提出的一個帶悖論性質的題,不是一道簡單的小 算題,應該把後面的2 1 2 看做是一個整體來對待才對,所以是1。雖然這麼寫不嚴謹,但是根據係數的計演算法則2 1 2 是一個整體,故原式等於1 計算的原則是,先乘除後加減速,有括號的先算括號裡面的。這個是小學...