跪求c語言大俠 我的位運算程式哪裡出了問題

時間 2022-07-15 23:20:16

1樓:努力練習

#include

int main()

我沒有多寫一個函式來實現,是直接在main中實現你所說的功能

做這種題就是要對進位制的轉換要有清楚的認識

short int是2位元組,也就是16位

八進位制 101675 轉換成二進位制則為

001 000 001 110 111 101

因為short int 只有16位,所以只有後面16位可以儲存在暫存器中

即為1000 "0011" 1011 1101,因為要取5-8位(打雙引號的為要取的4位),

則左移4位得"0011" 1011 1101 0000,

然後0000 0000 0000 0000取反1111 1111 1111 1111

左移(16-4)位,則1111 0000 0000 0000

"0011" 1011 1101 0000 & 1111 0000 0000 0000

得:"0011" 0000 0000 0000 到此5-8位已經取出

再右移四位得到結果0000 "0011" 0000 0000

八進位制結果:1400

十進位制結果:768

2樓:匿名使用者

你這個數存入電腦預設是二進位制的,實際你需要八進位制,電腦是很笨的,這樣顯然不對

3樓:

i=i<<(b-c+1);==> i=i<<(c-b+1);

C語言程式問題,我的c語言程式有什麼問題? 10

fun x,y,1 求每一行的最小值放進y裡面 fun x,y,0 求每一行的最大值放進y裡面 伺服器 這個應該是判斷條件有問題,那個判斷形式應該是?前後返回的是判斷條件為真的時候的值,後面返回的是判斷條件不成立的時候的值,你這個寫法根本沒有改變flag的值,因為根本就沒有做賦值的操作。我的c語言程...

跪求c語言大神幫小弟看一段c程式裡的錯誤!謝謝

關於你要實現的程式的功能並沒有描述的十分清楚,我這就主要從你語法上的錯誤給予更正 include stdio.h 因為你的主函式在你要呼叫 的兩個函式的前面,因此要先宣告函式 int center to left get black int a 主函式中呼叫函式是傳了引數的,需要有形參 int ce...

求高人指點C語言這個程式哪錯了(我是初學者,不是太懂,簡明一些)

錯了放編譯器裡跑一下就知道了,學習語言同時也要學習解決問題的能力。scanf d,d,d a,b,c 書上看看應該怎麼寫 氣泡排序 int i,j,temp int a n for i 0 ia i 1 for i 0 i printf 5d,a i printf n 修改結果 include ma...