經過一個練習,我試圖獲得一個整數,在某個位置是否爲0或1。嘗試按位取得0或1,但得到64或32代替
這是到目前爲止我的代碼:
Console.WriteLine("input number");
int number = int.Parse(Console.ReadLine());
Console.WriteLine("input position");
int position = int.Parse(Console.ReadLine());
int place = 1;
int bit = place << position;
Console.WriteLine(bit);
所以用戶輸入一個數字(整數,讓說,10),則位位置(可以說5),如果還是沒有程序應該告訴我第5位(從右邊)是0或1。
但是不是它告訴我,一位表示的值(1,2,4,8,16,32,64等)
我真的不確定什麼我已經錯過了,我繼續看解決方案(我意識到不需要用戶輸入),並給了我同樣的錯誤。
int n = 35;
int p = 6;
int i = 1;
int mask = i << p;
問題引述說:「數字(0或1)中位置p上的位的值」。所以它需要0或1作爲輸出。所以我很難過,真的需要一些幫助。我可能會過度看待事物並且忽略一些明顯的東西,但我找不到解決方案。
你沒有做與你讀取的'數值'比較的值('Console.WriteLine(bit);') – Joe