首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

二维数组如何异或

2013-12-06 
二维数组怎么异或?代码如下:unsigned char state[4][4]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,}unsign

二维数组怎么异或?
代码如下:
unsigned char state[4][4]={
0,1,2,3,
        4,5,6,7,
8,9,10,11,
12,13,14,15,
};
unsigned char key[4][4]={
0,4,8,12,
        1,5,9,13,
2,6,10,14,
3,7,11,15,
};
for (int i=0;i<4;i++){
for(int j=0;j<4;j++)
state[i][j]^=key[i][j];
printf("%10d",state[i][j]);}
printf("\n");
不知怎么异或而来,望各位帮忙。
[解决办法]
你的问题到底是什么?
[解决办法]

引用:
就是state[i][j]^=key[i][j];
这两个数组里的元素怎么异或?
state[i][j]^=key[i][j];//这样就可以啊

[解决办法]
4 8 12 136?这是我运行后的结果

[解决办法]
 

引用:
我就是不知道怎么把输进去的数,通过state[i][j]^=key[i][j];
得出结果


printf()
然后在纸上用二进制算算,对照一下

[解决办法]
当然是通过逐个单元异或
比如i=3,j=4
state[3][4]=state[3][4]^ key[3][4];

[解决办法]
引用:
就是state[i][j]^=key[i][j];
这两个数组里的元素怎么异或?


还是取的state[i][j]的值去和key[i][j]的值,进行异或操作的啊!他们本身也只是一个数值而已嘛!
不要陷进去了
[解决办法]
任何数之间都可以异或,不需要恰好都是15

热点排行