C#语言,16进制与或问题操作

C#语言,16进制与或问题操作

问题描述:

数组byte[] data={00,00,00,00,00,00,00,00}是16进制,数组中第一个元素,16进制00,按button1,第一个与80,变成{80,00,00,00,00,00,00,00}。按button2,第一个再与40,变成{C0,00,00,00,00,00,00,00},下button3,第二个元素与40,变成{C0,40,00,00,00,00,00,00},这个算法怎么写?

直接^操作就行了

   public static byte[] data = { 00, 00, 00, 00, 00, 00, 00, 00 };
    public void Button1_Click(object sender, EventArgs e)
    {
        data[0] = (byte)(data[0] ^ 0x80);
        OutPutData();
    }
    public void Button2_Click(object sender, EventArgs e)
    {
        data[0] = (byte)(data[0] ^ 0x40);
        OutPutData();
    }
    public void Button3_Click(object sender, EventArgs e)
    {
        data[1] = (byte)(data[1] ^ 0x40);
        OutPutData();
    }
    public void OutPutData()
    {
        for (int i = 0; i < data.Length; i++) Response.Write(data[i] + " ");
    }

首先一个基本常识“与”运算都会是0 ,只能或