最佳解答者
想請問一個有關數值逆推問題

問題
解答
-
...
這是計算機概論等級的問題,你把 48 轉 2 進位,答案就出來了。通常稱為位元旗標運算。
48 的 2 進位值:11 0000
=> 個位數為第 0 個,兩個 1 分別為第4位(2^4=16) 及第5位(2^5=32)
論壇是網友平等互助 保證解答請至 微軟技術支援服務
提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。- 已提議為解答 Bill ChungMVP, Moderator 2010年11月23日 下午 03:28
- 已標示為解答 菲羽 2012年1月11日 上午 12:21
所有回覆
-
C# 運算子
http://msdn.microsoft.com/zh-tw/library/6a71f45d(VS.90).aspx
您是把CheckBox1~7做OR運算吧,使用>>每次右移一位元,再AND 0x1,如果為1,則CheckBox有選到,以此類推試試...
-
...
這是計算機概論等級的問題,你把 48 轉 2 進位,答案就出來了。通常稱為位元旗標運算。
48 的 2 進位值:11 0000
=> 個位數為第 0 個,兩個 1 分別為第4位(2^4=16) 及第5位(2^5=32)
論壇是網友平等互助 保證解答請至 微軟技術支援服務
提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。- 已提議為解答 Bill ChungMVP, Moderator 2010年11月23日 下午 03:28
- 已標示為解答 菲羽 2012年1月11日 上午 12:21
-
如果是用二進制 0 1 2 4 8 16 32 64 ...
假設是48,
32<48<64,所以一定含有32,
減掉32,剩16
8<16<=16,所以一定含有16,
減掉16,剩0。
透過一個遞迴即可逆推出組成元素的唯一解。
如果要配合 CheckBox,可規則命名控制項。假設有7個:
private void ReverseState(int point)
{
for (int i = 6; i >= 0; i--)
{bool Checked = False;
if (point >= Math.Pow(2.0, i))
{Checked = True;
point -= (int)Math.Pow(2.0, i);
}((CheckBox)(flowLayoutPanel1.Controls.Find(string.Format("CheckBox{0}", i + 1), false))[0]).Checked = Checked;
}
}