- Tcl 教程
- Tcl - 首頁
- Tcl - 概述
- Tcl - 環境設定
- Tcl - 特殊變數
- Tcl - 基本語法
- Tcl - 命令
- Tcl - 資料型別
- Tcl - 變數
- Tcl - 運算子
- Tcl - 決策
- Tcl - 迴圈
- Tcl - 陣列
- Tcl - 字串
- Tcl - 列表
- Tcl - 字典
- Tcl - 過程
- Tcl - 包
- Tcl - 名稱空間
- Tcl - 檔案 I/O
- Tcl - 錯誤處理
- Tcl - 內建函式
- Tcl - 正則表示式
- Tk 教程
- Tk - 概述
- Tk - 環境
- Tk - 特殊變數
- Tk - 小部件概述
- Tk - 基本小部件
- Tk - 佈局小部件
- Tk - 選擇小部件
- Tk - 畫布小部件
- Tk - Mega 小部件
- Tk - 字型
- Tk - 圖片
- Tk - 事件
- Tk - 視窗管理器
- Tk - 幾何管理器
- Tcl/Tk 有用資源
- Tcl/Tk - 快速指南
- Tcl/Tk - 有用資源
- Tcl/Tk - 討論
Tcl - 位運算子
Tcl 語言支援的位運算子列在下表中。假設變數A為 60,變數B為 13,則:
| 運算子 | 描述 | 示例 |
|---|---|---|
| & | 二進位制 AND 運算子:如果位同時存在於兩個運算元中,則將其複製到結果中。 | (A & B) 將得到 12,即 0000 1100 |
| | | 二進位制 OR 運算子:如果位存在於任一運算元中,則將其複製。 | (A | B) 將得到 61,即 0011 1101 |
| ^ | 二進位制 XOR 運算子:如果位在一個運算元中設定,但在另一個運算元中未設定,則將其複製。 | (A ^ B) 將得到 49,即 0011 0001 |
| << | 二進位制左移運算子:左運算元的值向左移動由右運算元指定的位數。 | A << 2 將得到 240,即 1111 0000 |
| >> | 二進位制右移運算子:左運算元的值向右移動由右運算元指定的位數。 | A >> 2 將得到 15,即 0000 1111 |
示例
嘗試以下示例以瞭解 Tcl 語言中所有可用的位運算子:
#!/usr/bin/tclsh set a 60 ;# 60 = 0011 1100 set b 13 ;# 13 = 0000 1101 set c [expr $a & $b] ;# 12 = 0000 1100 puts "Line 1 - Value of c is $c\n" set c [expr $a | $b;] ;# 61 = 0011 1101 puts "Line 2 - Value of c is $c\n" set c [expr $a ^ $b;] ;# 49 = 0011 0001 puts "Line 3 - Value of c is $c\n" set c [expr $a << 2] ;# 240 = 1111 0000 puts "Line 4 - Value of c is $c\n" set c [expr $a >> 2] ;# 15 = 0000 1111 puts "Line 5 - Value of c is $c\n"
編譯並執行上述程式後,將產生以下結果:
Line 1 - Value of c is 12 Line 2 - Value of c is 61 Line 3 - Value of c is 49 Line 4 - Value of c is 240 Line 5 - Value of c is 15
tcl_operators.htm
廣告