《程式設計基礎-c語言》楊莉 劉鴻翔
isbn-
978-7-
03-032903
-5
p 165
-166
習題6
7.閱讀程式輸出結果
比較運算子表示式為1,即為真,為0,即為假
按位與(&)
格式:x&y
規則:參與運算的兩數對應的二進位制位相與,只有對應的兩個二進位制位均為1時,結果位才為1,否則為0
參與運算的資料都以補碼方式出現
「()
「運算子優先順序最高,」m=a>b
」,a>b
為假,值為0
「n=c>d
」,c>d
為假,值為0
"m
、n
"的值都為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種人,一種人知道二進位制,而另一種人不知道二進位制。其實二...