關於位運算的習題

2021-10-06 04:47:36 字數 1550 閱讀 8019

《程式設計基礎-c語言》楊莉 劉鴻翔  

isbn-

978-7-

03-032903

-5

p 165

-166

習題6

7.閱讀程式輸出結果

比較運算子表示式為1,即為真,為0,即為假

按位與(&) 

格式:x&y

規則:參與運算的兩數對應的二進位制位相與,只有對應的兩個二進位制位均為1時,結果位才為1,否則為0

參與運算的資料都以補碼方式出現

()「運算子優先順序最高,」m=a>b」,a>b為假,值為0n=c>d」,c>d為假,值為0"mn"的值都為0,則二進位制位比較結果為0

(2)去乙個整數a從右端開始的4~7位,程式如下,若輸入的值為331,寫出輸出結果

/*

(2)去乙個整數a從右端開始的4~7位,程式如下,若輸入的值為331,寫出輸出結果

輸入8進製a=331,轉換為二進位制

————————————————3	 3	 1

對應————————————011 011 001

再4位合在一起————0000 1101 1001

"a>>4"代表二進位制右移4位,二進位制為1101,轉換為8進製為15

右移(>>) 

對於無符號數,右移時左邊高位移入0

對於有符號數,如果原來符號為0(該數為正),則左邊高位移入0;如果符號位原來為1(即負數),則左邊高位移入1

若該數右移時,被溢位捨棄的低位中不包含1,右移1位相當於除以2,右移n位相當於除以

2^n 1101 1001

第一次——0110 1100

第二次——0011 0110

第三次——0001 1011

第四次——0000 1101

程式要求輸出"a,b"的8進製,所以只算到這一步就夠了

另外,a<<2 或 a&0x00ff不能改變a的值所以輸出a,b為331,15

關於位運算

今天看k神的一篇題解,看到一些關於位運算的技巧。又想起以前學長川哥給的一篇位運算對集合處理的技巧的pdf。所以就一起整理一下。各種位運算子的功能就不累述了。集合的位運算表示 來自川哥給的pdf 基本表示 1.空集 0 2.全集 1 3.只含有第 i 個元素的集合1 集合間的操作 1.s 與 t 的並...

關於位運算

9月21日,對本文從格式到部分內容上都進行了修改 今天看了一位師兄去年的筆經總結,其中有一題是 不許用 和 來實現求任意數除以3的餘數 我想考官的目的應該是想考察學生對位運算的熟悉程度吧,於是我把題目擴充套件成 只能用 和位運算實現正整數除法 和取模 注意 這裡不能使用其它的庫例程來輔助計算,如lo...

關於 位運算

位運算 位運算是把數字用二進位制表示之後,對每一位上0或者1的運算。理解位運算的第一步是理解二進位制。二進位制是指數字的每一位都是0或者1.比如十進位制的2轉化為二進位制之後就是10。在程式設計師的圈子裡有乙個流傳了很久的笑話,說世界上有10種人,一種人知道二進位制,而另一種人不知道二進位制。其實二...