算子 (編程)
外觀
| 程序執行 |
|---|
| 基礎概念 |
| 代碼類型 |
| 編譯策略 |
|
| 知名運行環境 |
| 著名編譯器及工具鏈 |
算子或運算符(operator)在電腦編程上是指一種程式語言裏面行為類似函數的東西,他們可以進行諸如「加減」(+和-)或者「比較兩個數的大小」(<和>)以及邏輯運算等運算。編程語言通常內置一組運算符,某些情況下用戶可以為現有的運算符添加新的含義,甚至定義全新的運算符。
「砌」算子
[編輯]在程式語言的設計(程式語言理論)中,比較複雜的算子通常都有是由簡單或者「基礎」的算子「砌」出來;舉個簡單例子,想像現在一隻程式語言要通過陳述式語句來進行「比較兩個數值」的運算-需要用到 =(等於)、>(大於)、<(小於)、>=(大於或者等於)... 等算子,其實這些算子都可以靠 < 就可以砌出來[1]:
- 假設現在的編程語言
>=(大於或者等於)可以定義為:public static boolean greaterThanOrEqualTo(int a, int b) { return not(lessThan(a, b)); }
- 如果
a < b,namelessThan(a, b)會輸出1(真),而return not(lessThan(a, b))那麼這個程序就會輸出0,這樣就定義了>=-因為a < b就表示「a >= b」為假。
- 而
=(等如)也可以這樣定義:public static boolean equalTo(int a, int b) { if (greaterThanOrEqualTo(a, b)) return greaterThanOrEqualTo(b, a); else return false; }
- 如果
b = a,greaterThanOrEqualTo(a, b)(上面定義了)會出1(真),而接下來greaterThanOrEqualTo(b, a)又會輸出1,於是return greaterThanOrEqualTo(b, a)就會讓這個程序輸出1,如果greaterThanOrEqualTo(a, b)或者greaterThanOrEqualTo(b, a)輸出的是0(假),那麼這個程序就會輸出0。
... 如此類推。
參考文獻
[編輯]- ^ Iverson, K. E. (1962, May). A programming language (頁面存檔備份,存於互聯網檔案館) (PDF). In Proceedings of the May 1-3, 1962, spring joint computer conference (pp. 345-351).