Tcl-tk-tcl-bitwise-operators
提供:Dev Guides
Tcl-ビット演算子
Tcl言語でサポートされているビット単位の演算子を次の表にリストします。 変数 A が60を保持し、変数 B が13を保持すると仮定します-
Operator | Description | Example |
---|---|---|
& | Binary AND Operator copies a bit to the result if it exists in both operands. | (A & B) will give 12, which is 0000 1100 |
Binary OR Operator copies a bit if it exists in either operand. | ||
(A | B) will give 61, which is 0011 1101 | ^ |
Binary XOR Operator copies the bit if it is set in one operand but not both. | (A ^ B) will give 49, which is 0011 0001 | << |
Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand. | A << 2 will give 240, which is 1111 0000 | >> |
例
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