Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1721422
  • 博文数量: 171
  • 博客积分: 11553
  • 博客等级: 上将
  • 技术积分: 3986
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-25 20:28
文章分类

全部博文(171)

文章存档

2012年(2)

2011年(70)

2010年(9)

2009年(14)

2008年(76)

分类: Python/Ruby

2011-08-07 21:35:40

#!/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) |
给主人留下些什么吧!~~