真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

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

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

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

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

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

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

正數(shù)原碼反碼補(bǔ)碼相同
負(fù)數(shù)反碼等于源碼處符號(hào)位其余為取反
補(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

移位操作符

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

左移操作符

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

例如10左移兩位
先寫(xiě)出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ǔ)原來(lái)的符號(hào)位
邏輯右移是右邊丟棄,左邊補(bǔ)零

位操作符

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

按位與(&)

運(yùn)算編碼:補(bǔ)碼
將整數(shù)從十進(jìn)制轉(zhuǎn)化為二進(jìn)制數(shù),上下比較,有零則零 ,兩個(gè)都是 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 ,兩個(gè)都是 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;
}

在這里插入圖片描述

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

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


網(wǎng)站標(biāo)題:【C語(yǔ)言】移位操作符和位操作符-創(chuàng)新互聯(lián)
路徑分享:http://weahome.cn/article/dcggdp.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部