-
NOT運算
鎖定
在邏輯中,NOT運算是一種操作,它將命題P帶到另一個命題“非P”,寫為¬P,當P為假時直觀地解釋為真,而當P為真時則為假。 因此,否定是一元(單一論證)邏輯連詞。 它可以更普遍地用作對概念,命題,真值或語義值的操作。 在經典邏輯中,否定通常用真值函數來識別,該真值函數將真值用於虛假,反之亦然。 在直覺主義邏輯中,根據Brouwer-Heyting-Kolmogorov解釋,命題P的否定是其證明是P的反駁的命題。
- 中文名
- NOT運算
- 外文名
- Negation
NOT運算定義
關於否定性的可能性,關於其邏輯地位,功能和意義,關於其適用範圍......以及對否定判斷的解釋,沒有達成協議。
經典否定是對一個邏輯值的操作,通常是命題的值,當其操作數為假時產生值為true,當操作數為真時產生值為false。 因此,如果陳述P為真,那麼¬P(發音為“not P”)將因此為假; 相反,如果¬P為假,則P為真。
¬P的真值表如下:
P | ¬P |
True | False |
False | True |
否定可以根據其他邏輯操作來定義。 例如,¬P可以定義為P→⊥(其中→是邏輯結果,⊥是絕對虛假)。 相反,對於任何命題Q(其中∧是邏輯連詞),可以將define定義為Q∧¬Q。 這裏的想法是任何矛盾都是錯誤的。 雖然這些思想既有經典邏輯又有直覺邏輯,但它們並不適用於矛盾的邏輯,而矛盾並不一定是錯誤的。 在經典邏輯中,我們還得到了進一步的同一性,P→Q可以定義為¬P∨Q,其中∨是邏輯析取。
在代數上,經典否定對應於布爾代數中的互補,以及對Heyting代數中的偽實現的直覺否定。 這些代數分別為經典和直覺邏輯提供了語義。
NOT運算符號
在各種討論環境和應用領域中,對命題P的否定以不同方式表示。 這些變體包括以下內容:
符號 | 叫法 |
¬P | Not p |
~P | Not p |
-P | Not p |
Np | En p |
p prime p complement | |
p bar bar p | |
!p | Bang p Not p |
在集合論中,∖也用於表示“不是成員”:U∖A是U的所有成員的集合,不是A的成員。無論如何標記或符號化,否定¬P可以被解讀為“不是P”,“不是P”,或者通常更簡單地稱為“非P”。
NOT運算編程
在數學中,否定被用於計算機科學以構建邏輯陳述。
if (!(r == t)) { /*...statements executed when r does NOT equal t...*/ }
“!”表示B,C和具有C語言語言(如C ++,Java,JavaScript,Perl和PHP)的語言中的邏輯NOT。 “NOT”是ALGOL 60,BASIC中使用的運算符,以及具有ALGOL或BASIC啓發語法的語言,如Pascal,Ada,Eiffel和Seed7。某些語言(C ++,Perl等)提供了多個用於否定的運算符。一些語言如PL / I和Ratfor使用¬進行否定。一些現代計算機和操作系統將顯示為!用ASCII編碼的文件。大多數現代語言允許將上述語句從if(!(r == t))縮短為if(r!= t),這有時允許編譯器/解釋器無法優化它,更快的程序
[1]
。
在計算機科學中,也存在逐位否定。這取得給定的值並將所有二進制1切換為0和0到1。請參閲按位操作。這通常用於在C或C ++中創建一個補碼或“〜”和兩個補碼(簡化為“ - ”或負號,因為它相當於取數字的算術負值),因為它基本上創建了相反的(負值等價物)或數值的數學補充(兩個值加在一起形成一個整體)。
為了獲得給定整數的絕對(正等效)值,以下將起作用,因為“ - ”將其從負變為正(它是負的,因為“x <0”產生真)
unsigned int abs(int x) { if (x < 0) return -x; else return x; }
為了證明邏輯否定:
unsigned int abs(int x) { if (!(x < 0)) return x; else return -x; }
反轉條件並反轉結果產生邏輯上等同於原始代碼的代碼,即對於任何輸入將具有相同的結果(注意,根據所使用的編譯器,計算機執行的實際指令可能不同)。
這種慣例偶爾會出現在書面語言中,而不是計算機相關的俚語。 例如,投票是指“不投票”。
- 參考資料
-
- 1. MEDLINE的AND,WITH與NEAR邏輯運算符之間的區別 .萬方[引用日期2018-07-30]
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:3次歷史版本
- 最近更新: 筱雅静l