#!/bin/bash
#【程序51】
#题目:学习使用按位与 & 。
#1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
#2.程序源代码:
function main(){
a=077
((b = $a&3 ))
echo "a & 3 = $b"
((b&=7))
echo "b & 7 = $b"
}
main
#!/bin/bash
#【程序52】
#题目:学习使用按位或 | 。
#1.程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1
#2.程序源代码:
function main(){
a=077
(( b = a | 3 ))
echo "a | b is $b"
(( b |= 7 ))
echo "a |= b is $b"
}
main
#!/bin/bash
#题目:学习使用按位异或 ^ 。
#1.程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
#2.程序源代码:
function main(){
a=077
(( b = a ^ 3 ))
echo " a ^ b = $b"
(( b ^= 7 ))
echo " a ^ b = $b"
}
main
#!/bin/bash
#【程序54】
#题目:取一个整数a从右端开始的4~7位。
#程序分析:可以这样考虑:
#(1)先使a右移4位。
#(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)
#(3)将上面二者进行&运算。
function main(){
read -p "input a number: " a
(( b = a >> 4 ))
(( c = ~(~0 << 4) ))
(( d = b & c ))
echo "$a $d"
}
main
#!/bin/bash
#【程序55】
#题目:学习使用按位取反~。
#1.程序分析:~0=1; ~1=0;
#2.程序源代码:
#如何查看复数的16进制数
function main(){
a=234
(( b = ~a ))
echo "The a's 1 complement is $b"
(( a = ~b ))
echo "The a's 2 complement is $a"
}
main
阅读(773) | 评论(0) | 转发(0) |