string ss = richTextBox1.Text;
char[] ch = new char[(ss.Length + 2) * 16]; //数组大小为什么这么大
for (int i = 0; i < ss.Length; i++)
{
ch[i] = Convert.ToChar(ss[i]);
}
char[] temp = new char[(ss.Length + 2) * 16];
int m, n;
for (n = 0; n < 16; n++)
temp[n] = Convert.ToChar(0x0001 & '#' >> n);
for (m = 1; m < ss.Length + 1; m++)
for (n = 0; n < 16; n++)
temp[16 * m + n] = Convert.ToChar(0x0001 & ch[m - 1] >> n); for (n = 0; n < 16; n++)
temp[16 * m + n] = Convert.ToChar(0x0001 & '#' >> n);ch那个数组的大小为什么是那么大? 0x0001 & '#' >> n 语句不明白,希望解释下。还有就是连续几个for语句的逻辑原因为什么这样循环。谢谢各位大侠了~
char[] ch = new char[(ss.Length + 2) * 16]; //数组大小为什么这么大
for (int i = 0; i < ss.Length; i++)
{
ch[i] = Convert.ToChar(ss[i]);
}
char[] temp = new char[(ss.Length + 2) * 16];
int m, n;
for (n = 0; n < 16; n++)
temp[n] = Convert.ToChar(0x0001 & '#' >> n);
for (m = 1; m < ss.Length + 1; m++)
for (n = 0; n < 16; n++)
temp[16 * m + n] = Convert.ToChar(0x0001 & ch[m - 1] >> n); for (n = 0; n < 16; n++)
temp[16 * m + n] = Convert.ToChar(0x0001 & '#' >> n);ch那个数组的大小为什么是那么大? 0x0001 & '#' >> n 语句不明白,希望解释下。还有就是连续几个for语句的逻辑原因为什么这样循环。谢谢各位大侠了~
'#'的二进制值右移n位,然后和0x0001的二进制值按位与
for (int i = 0; i < ss.Length; i++)
{
ch[i] = Convert.ToChar(ss[i]);
}
估计是写的人写错了吧,没必要这么大,要么在其他地方用到了ch 数组的ss.Length以外的元素?