久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2925|回復: 0
打印 上一主題 下一主題
收起左側

C語言位運算符在程序中的作用

[復制鏈接]
跳轉到指定樓層
樓主
ID:94349 發表于 2015-11-9 21:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
C語言運算符主要包括:與、或、異或、取反、左移和右移
一、按位與(&)
如果兩個相應的二進制位都為1,則該位的結果值為1,否則為0
應用:
1.清零
若想對一個存儲單元清零,即使其全部二進制位為0,只要找一個二進制數,其中各個位符合一下條件:
原來的數中為1的位,新數中相應位為0。然后使二者進行&運算,即可達到清零目的。
a 00101011
b 10010100
c 00000000 //c = a & b
2.取一個書中某些指定位
若有一個整數a(2byte),想要取其中的低字節,只需要將a與8個1按位與即可。
a 00101100 10101100
b 00000000 11111111
c 00000000 10101100 //c = a & b
3.保留指定位
a 01010100
b 00111011
c 00010000 //c = a & b

二、按位或(|)
兩個相應的二進制位中只要有一個為1,該位的結果值為1。借用邏輯學中或運算的話來說就是,一真為真
應用:將一個數據的某些位定值為1
a 00110000
b 00001111
c 00111111 //c = a | b

三、按位異或(^)
若參加運算的兩個二進制位值相同則為0,否則為1
應用:不用臨時變量,交換兩個值
計算前:
a=3,即011(2);b=4,即100(2)
計算過程:
a=a ^ b; //即111 = 011 ^ 100
b=b ^ a; //即011 = 100 ^ 111
a=a ^ b; //即100 = 111 ^ 011
計算后:
a=100(2)即 4 ;b = 011(2)即 3;

四、取反(~)
~是一元運算符,用來對一個二進制數按位取反,即將0變1,將1變0

五、左移(<<)
用來將一個數的各二進制位全部左移N位,右補0

六、右移(>>)
將一個數的各二進制位右移N位,移到右端的低位被舍棄,對于無符號數,高位補0

七、原碼,反碼,補碼的基礎概念和計算方法
1.原碼
原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其余位表示值
比如如果是8位二進制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符號位. 因為第一位是符號位, 所以8位二進制數的取值范圍就是:
[1111 1111 , 0111 1111] 即 [-127 , 127]
原碼是人腦最容易理解和計算的表示方式。
2.反碼
反碼的表示方法是:
正數的反碼是其本身
負數的反碼是在其原碼的基礎上, 符號位不變,其余各個位取反.
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
可見如果一個反碼表示的是負數, 人腦無法直觀的看出來它的數值. 通常要將其轉換成原碼再計算.
3.補碼
補碼的表示方法是:
正數的補碼就是其本身
負數的補碼是在其原碼的基礎上, 符號位不變, 其余各位取反, 最后+1. (即在反碼的基礎上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]補
[-1] = [10000001]原 = [11111110]反 = [11111111]補
對于負數, 補碼表示方式也是人腦無法直觀看出其數值的. 通常也需要轉換成原碼在計算其數值.
補碼舉例:16位的變量求補碼,比如-266的補碼求法:((266^0xffff)+1) 結果是0xfef6。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人精品一区二区男人看 | 一区二区三区在线 | 超碰97人人人人人蜜桃 | a在线免费观看 | www.国产视频 | 成人免费视频网 | 欧美一级二级视频 | 男人的天堂在线视频 | 久久黄网 | 美日韩中文字幕 | 黄色一级电影在线观看 | 久久狼人天堂 | 中文字幕免费观看 | 亚洲视频欧美视频 | 日韩精品免费在线观看 | 国产小视频在线 | 亚洲精品在线免费播放 | 久久久久久中文字幕 | 欧美日韩在线看 | 亚洲欧美中文日韩在线v日本 | 国产精品国产自产拍高清 | 国产精品 亚洲一区 | 91社区在线观看高清 | 91观看 | 午夜日韩精品 | av中文字幕网站 | 精品视频在线一区 | 夜操| 国产精品一区二区不卡 | 天天av网 | 久草青青 | 免费一区二区三区 | 在线看片网站 | 色妹子综合网 | 高清免费av | 欧美日韩精品一区 | 久久激情视频 | 久久成人一区 | 在线免费观看黄视频 | 免费视频99 | 婷婷综合色 |