位运算

  • 运算符:
    AND、OR、NOT、XOR、左移、右移(&、|、~、^、<<、>>)
  • 大小写变换(大小写相差32)
    //@1
    for(int i =0;i<10;i++)
    {
        char ch=(char)('a'+i);
        ch = (char)(ch&65503);
    }
    //@2
    for(int i =0;i<10;i++)
    {
        char ch=(char)('A'+i);
        ch = (char)(ch|32);
    }
  • 显示字节的位
    byte val = 123;
    for(int t=128;t>0;t=t/2)
    {
        if((val&t)!=0)
            Console.Write("1 ");
        else
            Console.Write("0 ");
    }
  • 用XOR编码和解码信息
    //使用相同值进行两次XOR运算生成最初的值
    string msg = "This is a test";
    string encmsg = "";
    string decmsg = "";
    int key = 88;
    //编码
    for(int i = 0;i <msg.Length;i++)
        encmsg = encmsg + (char)(msg[i] ^ key);
    //解码
    for(int i = 0;i <msg.Length;i++)
        decmsg = decmsg + (char)(msg[i] ^ key);

posted @ 2005-08-18 09:47  zhh007's Bolg  阅读(243)  评论(0编辑  收藏  举报