Re: [問題] if 判斷大量狀態

看板C_and_CPP (C/C++)作者 (stu)時間14年前 (2012/03/11 21:09), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《BlazarArc (Midnight Sun)》之銘言: : 語言:C或C++ : 問題(Question): : 各位好,想請教關於在需要判斷狀態做不同動作 : 而狀態規模很大的情況下,是否有更好的寫法 : 問題的假設:這些選項無法獨立出來,所以變成有 2^選項 種狀態 : 每個狀態要做的事情可能有些相關有些非相關 : 需要判斷的狀態還是佔整體空間的少數,而剩下的都做預設的動作 一般正常的情況下 這些選項的判斷還是能夠化簡才對 我不知道你有沒有學過數位電路邏輯 裡面有一種卡諾圖 就是用來化簡boolean代數運算的 一般人可以手工畫圖處理的情況 適用於4個維度以下,也就是16格 更高以上的維度則需要用軟體幫忙 此外 應該會有許多選項是彼此無關的才對 那麼分開寫就好了 例如這樣: if(bFlagA) functionDoA(); if(bFlagB) functionDoB(); 根本就不需要放在一起 流水執行就好 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.210.62

03/11 21:11, , 1F
謝謝,有學過KMap,我知道無關的選項可以分開寫
03/11 21:11, 1F

03/11 21:12, , 2F
假設條件檢查中每個變數都不可獨立
03/11 21:12, 2F
文章代碼(AID): #1FNAG8Yu (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1FNAG8Yu (C_and_CPP)