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 ,只能或