成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

【C語言】移位操作符和位操作符-創(chuàng)新互聯(lián)

移位操作符和位操作符
    • 前言
    • 整數(shù)在內(nèi)存中的存儲
    • 原碼·反碼·補(bǔ)碼
    • 移位操作符
      • 左移操作符
      • 右移操作符
    • 位操作符
      • 按位與(&)
      • 按位或( | )
      • 按位異或( ^ )

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),甕安企業(yè)網(wǎng)站建設(shè),甕安品牌網(wǎng)站建設(shè),網(wǎng)站定制,甕安網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,甕安網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。前言

位操作符和移位操作符都是針對于二進(jìn)制進(jìn)行操作的

整數(shù)在內(nèi)存中的存儲

整數(shù)在內(nèi)存中儲存的是他的二進(jìn)制補(bǔ)碼

整數(shù)(int)在內(nèi)存空間中占四個字節(jié)
在這里插入圖片描述

原碼·反碼·補(bǔ)碼

正數(shù)原碼反碼補(bǔ)碼相同
負(fù)數(shù)反碼等于源碼處符號位其余為取反
補(bǔ)碼等于補(bǔ)碼+1

例如10的二進(jìn)制序列為1010
補(bǔ)碼和原碼相同 即
00000000 00000000 00000000 00001010
例如-10的二進(jìn)制序列為
10000000 00000000 00000000 00001010
反碼為
11111111 11111111 11111111 11110101
補(bǔ)碼為
11111111 11111111 11111111 11110110

移位操作符

移位操作符包括
左移操作符:<<
右移操作符:>>
注意移位操作符的對象必須是整數(shù)

左移操作符

左移操作符的規(guī)則是左邊丟棄,右邊補(bǔ)0

例如10左移兩位
先寫出10的二進(jìn)制序列
00000000 00000000 00000000 00001010
補(bǔ)碼是
00000000 00000000 00000000 00001010
左移兩位右邊補(bǔ)0后
00000000 00000000 00000000 00101000
用十進(jìn)制表示就是40

#includeint main()
{int b = 10<< 2;
	printf("%d",b);
	return 0;
}

在這里插入圖片描述

右移操作符

右移操作符分為兩種,算術(shù)右移和邏輯右移
算術(shù)右移是右邊丟棄,左邊補(bǔ)原來的符號位
邏輯右移是右邊丟棄,左邊補(bǔ)零

位操作符

C語言中位操作符有按位與 按位或 按位異或
他們的操作數(shù)是整數(shù) ,對象是整數(shù)的二進(jìn)制序列

按位與(&)

運(yùn)算編碼:補(bǔ)碼
將整數(shù)從十進(jìn)制轉(zhuǎn)化為二進(jìn)制數(shù),上下比較,有零則零 ,兩個都是 1 才是 1。

例如10&15
10的二進(jìn)制序列為00000000 00000000 00000000 00001010
15的二進(jìn)制序列為00000000 00000000 00000000 00001111
他們都是正數(shù),原碼反碼補(bǔ)碼都相同,所以直接上下比較
得到 00000000 00000000 00000000 00001010 十進(jìn)制為10

#includeint main()
{int a = 10, b = 15;
	printf("%d", (a & b));

	return 0;
}

在這里插入圖片描述

例如-10和-15
-10原碼10000000 00000000 00000000 00001010
反碼11111111 11111111 11111111 11110101
補(bǔ)碼11111111 11111111 11111111 11110110
-15原碼10000000 00000000 00000000 00001111
反碼 11111111 11111111 11111111 11110000
補(bǔ)碼 11111111 11111111 11111111 11110001
上下比較得到 11111111 11111111 11111111 11110000
轉(zhuǎn)化為原碼是 10000000 00000000 00000000 00010000
轉(zhuǎn)化為十進(jìn)制數(shù)是-16

#includeint main()
{int a = -10, b = -15;
	printf("%d", (a & b));

	return 0;
}

在這里插入圖片描述

按位或( | )

運(yùn)算編碼:補(bǔ)碼
將整數(shù)從十進(jìn)制轉(zhuǎn)化為二進(jìn)制數(shù),上下比較,有1則1 ,兩個都是 0 才是 0。

例如10 | 15
10的二進(jìn)制序列為00000000 00000000 00000000 00001010
15的二進(jìn)制序列為00000000 00000000 00000000 00001111
他們都是正數(shù),原碼反碼補(bǔ)碼都相同,所以直接上下比較
得到 00000000 00000000 00000000 00001111
十進(jìn)制為15

#includeint main()
{int a = 10, b = 15;
	printf("%d", (a | b));

	return 0;
}

在這里插入圖片描述

例如-10和-15
-10原碼10000000 00000000 00000000 00001010
反碼11111111 11111111 11111111 11110101
補(bǔ)碼11111111 11111111 11111111 11110110
-15原碼10000000 00000000 00000000 00001111
反碼 11111111 11111111 11111111 11110000
補(bǔ)碼 11111111 11111111 11111111 11110001
上下比較得到 11111111 11111111 11111111 11110111
轉(zhuǎn)化為原碼是 10000000 00000000 00000000 00001001
轉(zhuǎn)化為十進(jìn)制數(shù)是-9

#includeint main()
{int a = -10, b = -15;
	printf("%d", (a | b));

	return 0;
}

在這里插入圖片描述

按位異或( ^ )

運(yùn)算編碼:補(bǔ)碼
將整數(shù)從十進(jìn)制轉(zhuǎn)化為二進(jìn)制數(shù),上下比較,上下比較,相同為 0 ,相異為 1

例如0 ^ 15
10的二進(jìn)制序列為00000000 00000000 00000000 00001010
15的二進(jìn)制序列為00000000 00000000 00000000 00001111
他們都是正數(shù),原碼反碼補(bǔ)碼都相同,所以直接上下比較
得到 00000000 00000000 00000000 00000101
十進(jìn)制為5

#includeint main()
{int a = 10, b = 15;
	printf("%d", (a ^ b));

	return 0;
}

在這里插入圖片描述

例如-10和-15
-10原碼10000000 00000000 00000000 00001010
反碼11111111 11111111 11111111 11110101
補(bǔ)碼11111111 11111111 11111111 11110110
-15原碼10000000 00000000 00000000 00001111
反碼 11111111 11111111 11111111 11110000
補(bǔ)碼 11111111 11111111 11111111 11110001
上下比較得到 00000000 00000000 00000000 00000111
轉(zhuǎn)化為原碼是 00000000 00000000 00000000 00000111
轉(zhuǎn)化為十進(jìn)制數(shù)是7

#includeint main()
{int a = -10, b = -15;
	printf("%d", (a ^ b));

	return 0;
}

在這里插入圖片描述

希望我的博客對你的學(xué)習(xí)有幫助
IDE VS2022

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

名稱欄目:【C語言】移位操作符和位操作符-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://jinyejixie.com/article18/dcggdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、關(guān)鍵詞優(yōu)化網(wǎng)站設(shè)計(jì)公司、電子商務(wù)、定制開發(fā)、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
平塘县| 类乌齐县| 庆云县| 正宁县| 嘉祥县| 广宗县| 石台县| 北京市| 青冈县| 卢氏县| 西平县| 衡阳市| 屯昌县| 信阳市| 信阳市| 杭锦后旗| 龙泉市| 绥滨县| 忻州市| 邢台县| 贡觉县| 大余县| 临夏市| 绥棱县| 县级市| 济源市| 和静县| 乌兰察布市| 理塘县| 泰来县| 樟树市| 黔西县| 江城| 凤台县| 河源市| 游戏| 清流县| 仁化县| 洱源县| 壤塘县| 道孚县|