2014-03-04 34 views
-2

我試圖生成一個「整數」的真值表。首先,我需要有一個整數2所列出就像這個表就在這裏:用布爾操作生成整數的真值表

1 1 
1 2 
2 1 
2 2 

然後我需要使用布爾運算符來產生這樣的表:

1 1 2 1 2 2 
1 2 1 2 2 1 
2 1 1 2 1 2 
2 2 2 1 1 1 

我簽出一些相關的問題如: Generating truth tables in Javaboolean operations with integers 但我仍然不知道如何在VB.net中編寫它。所以我感謝你的幫助和時間。 :) 謝謝!

+3

我不明白你的真值表的邏輯。 –

+0

此任務的哪一部分是您遇到的問題?例如,您是否難以生成整數,或執行布爾運算,或者輸出數字或結果表? –

+0

我的表的邏輯是:如果x = 1,則返回true,如果x = 2,則返回false。我不知道如何製作列表並生成表格。布爾操作是xor,xnor而不是。 – Behnood

回答

1

我假設你想Xor布爾值而不是整數本身的二進制表示。所以我的回答是基於這個假設。

如果您對True使用1,對於False使用2,那麼我建議您編寫一些轉換函數。

Private Function IntegerToBoolean(number As Integer) As Boolean 
    Return If(number = 1, True, False) 
End Function 

Private Function BooleanToInteger(bool As Boolean) As Integer 
    Return If(bool, 1, 2) 
End Function 

然後,用這些,它相當瑣碎,書寫你的其他功能:

Private Function IntegerXor(int1 As Integer, int2 As Integer) As Integer 
    Dim bool1 As Boolean = IntegerToBoolean(int1) 
    Dim bool2 As Boolean = IntegerToBoolean(int2) 
    Dim boolResult as Boolean = (bool1 Xor bool2) 
    Return BooleanToInteger(boolResult) 
End Function 

很明顯,你會做這爲每個號碼在資料表,以及你將爲AndOr創建附加功能。

+0

非常感謝! :) – Behnood

+0

我剛剛意識到,最後一個函數'IntegerXor'的名稱有點誤導... –