當前位置:首頁 » 編程語言 » c語言位操作

c語言位操作

發布時間: 2022-01-14 08:06:51

1. c語言 什麼叫位操作

第一題
#include<stdio.h>
main()
{
int a,b;
printf("請輸入一個位於0~65535之間的正整數:");
scanf("%d",&a);
b=(a>>3)&15;//取四位
printf("b=%d\n",b);
}
第二題
#include <stdio.h>
main()
{
int a,b,c;
scanf("%d%d",&a,&b);
if(a<b)
{c=b;
b=a;
a=c;}
while(a!=b)
{a=a>>1;
if(b>a)
break;}
if(a==b)
printf("yes");
else
printf("no");
}
你看看對不對

2. c語言位操作

3 = B 0000 0011
6 = B 0000 0110
取或運算:任意一比特位為1,最後都運算結果都為1
所以或操作的結果為 B 0000 0111
這個比特位值為7
所以printf輸出為7。
望採納。

3. C語言中位操作

首先32位系統-3默認為整形佔4位元組(32個位),二進製表示11111111
11111111
11111111
11111101得來方法:
3的二進制位00000000
00000000
00000000
00000011,取反補1後等到上面的值
再看下-1的二進制11111111
11111111
11111111
11111111同樣是1取反後補1
下面看下移位因為第一位為1,右移時根據最高位補位,移1位後值為:
11111111
11111111
11111111
11111110
再移動1位就變成了:11111111
11111111
11111111
11111111後面不管你右移多少次始終是這個結果,所以-3右移2次以上後值就是-1了。

4. C語言中什麼是按位或運算

位運算是在二進制層面上進行的運算
位或就是在兩個二進制上進行按位的或運算
像普通的邏輯運算一樣 兩個里有一個為真就返回真(邏輯真 就是1 邏輯假就是0)
比如兩個十進制數 5 和 3 進行位或運算
把他們轉換為二進制
5的二進制是 0101
3的二進制是 0011
他們按位或的結果是0111 轉換到十進制就是0+4+2+1 是7

5. C語言位運算

按位與 | 按位或 ^

按位異或 ~ 取反 <<

左移 >> 右移<<

1. 按位與運算。按位與運算符"&"是雙目運算符。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 ,否則為0。參與運算的數以補碼方式出現。

2. 按位或運算。按位或運算符「|」是雙目運算符。其功能是參與運算的兩數各對應的二進位相或。只要對應的二個二進位有一個為1時,結果位就為1。參與運算的兩個數均以補碼出現。 例如:9|5可寫算式如下: 00001001|00000101 00001101 (十進制為13)可見9|5=13 main(){ int a=9,b=5,c; c=a|b; printf("a=%d/nb=%d/nc=%d/n",a,b,c); }

3. 按位異或運算。按位異或運算符「^」是雙目運算符。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。參與運算數仍以補碼出現,例如9^5可寫成算式如下: 00001001^00000101 00001100 (十進制為12) main(){ int a=9; a=a^15; printf("a=%d/n",a); }。

5. 左移運算。左移運算符「<<」是雙目運算符。其功能把「<< 」左邊的運算數的各二進位全部左移若干位,由「<<」右邊的數指定移動的位數, 高位丟棄,低位補0。例如: a<<4 指把a的各二進位向左移動4位。如a=00000011(十進制3),左移4位後為00110000(十進制48)。

6. C語言位操作運算符 &,|,~,^,<<,>>是干什麼的

& 按位與運算,如:1010 & 1100 = 1000
| 按位或運算,如:1010 & 1100 = 1110
~ 非運算,如:a = 1010; ~a = 0101
<<左移,如:1110 << 1 = 1100
>>右移,如:1000 >> 1 = 0100

7. c語言位移位操作

先要了解一下C語言里所有的位運算都是指二進制數的位運算。即使輸入的是十進制的數,在內存中也是存儲為二進制形式。
「<<」用法:
格式是:a<<m,a和m必須是整型表達式,要求m>=0。
功能:將整型數a按二進制位向左移動m位,高位移出後,低位補0。
「>>」用法:
格式是:a>>m,a和m必須是整型表達式,要求m>=0。
功能:將整型數a按二進制位向右移動m位,低位移出後,高位補0

8. C語言位操作問題

規定了小數的編碼方式的話倒是可以手動做到這種效果,不過肯定比整數的位操作更難寫……

9. C語言中的位運算是怎樣的

如果你把所有的操作數都用二進制來表達就清晰了,如下

位與 & 相同位按與來運算即可 如:
1 & 2 =0
-------------
二進制是這樣的 01 & 10 = 00

位或 | 一樣,按位來或即可
1|2 = 3
--------------
二進制是這樣: 01|10=11

其他位運算都是按二進制位來運算的,你轉換成2進制就好理解了

10. C語言中按位與(&)運算符是什麼意思

是將二進制數按照位的對應相與,得到一個新的二進制數。1與0為0;1與1為1;0與0為0。

分析如下:

就是二進制的每一位相與。

比如:1010 0011& 0000 1111,結果為0000 0011。也就是與上0相當於把那位數清0,與上1相當於把那位保留。

(10)c語言位操作擴展閱讀

1、按位與運算符"&"是雙目運算符。 其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 ,否則為0。參與運算的數以補碼方式出現。

例如:9&5可寫算式如下: 00001001 (9的二進制補碼)&00000101 (5的二進制補碼) 00000001 (1的二進制補碼)可見9&5=1。 按位與運算通常用來對某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 運算 ( 255 的二進制數為11111111)。

熱點內容
我的世界國服伺服器開服 發布:2024-12-22 10:09:55 瀏覽:542
標題編譯策略 發布:2024-12-22 10:04:45 瀏覽:221
android開發xml 發布:2024-12-22 10:00:20 瀏覽:63
sql伺服器名稱什麼時候能寫ip 發布:2024-12-22 09:53:19 瀏覽:128
域控制伺服器怎麼設置ip 發布:2024-12-22 09:43:23 瀏覽:882
csvreaderpython 發布:2024-12-22 09:43:13 瀏覽:768
linux更改用戶 發布:2024-12-22 09:35:19 瀏覽:505
信息的編程加工 發布:2024-12-22 09:33:48 瀏覽:116
移動辦公專家伺服器地址寫什麼 發布:2024-12-22 09:25:13 瀏覽:147
編程CBA 發布:2024-12-22 09:10:11 瀏覽:288