kyq156518
发表于 2013-12-21 13:41:51
damingdingdin
发表于 2013-12-21 16:39:31
激动人心,无法言表!
吴庆龙
发表于 2013-12-22 09:51:17
强烈支持楼主ing……
月痕冰心
发表于 2013-12-25 20:51:25
楼主加油,鱼C加油!我们都看好你哦!
不玩cf
发表于 2013-12-26 19:10:30
淡定,淡定,淡定……
qwer772
发表于 2013-12-26 20:55:37
强烈支持楼主ing……
369575409
发表于 2013-12-27 12:29:09
强烈支持楼主ing……
L。
发表于 2013-12-31 17:38:08
强烈支持楼主ing……
ADFDRD
发表于 2014-1-8 16:34:21
感恩无私的分享与奉献 :)
LC2790
发表于 2014-1-9 09:43:06
强烈支持楼主ing……
我疯狂我成功
发表于 2014-1-9 12:18:09
有点儿意思,嘻嘻
leiao1989613
发表于 2014-1-9 17:19:56
楼主加油,鱼C加油!我们都看好你哦!
卿枫~凌
发表于 2014-1-12 09:46:00
看看这个神贴
妞請釋放微笑
发表于 2014-1-12 16:49:26
强烈支持楼主ing……
无念道长
发表于 2014-1-16 10:03:40
解:
1.异或操作时将相同的位置零,相异的位置1,举例:A=00001010B,B=00000101B,A = A ^ B,此时,A=00001111B,B=00000101B,第二句B = A ^ B,A = 00001111B,而此时B=00001010B,第三句,A = A ^ B,A被赋值新值,00000101B,B的值没变,实现了不用中间变量进行对调,可以用数学归纳法证明,对于所有的二进制数,上述操作均可实现该功能。另外,小提示:要对数进行操作,要用地址传递,如果直接对数进行运算,不改变原先的数据不要传递指针数据。
2.牵扯到异或操作。原理如1开头的那句话,对于奇数个数据,中间一个必然是将自己跟自己进行异或,并赋值给自己,比如:C = 00100101B,相异的取1,相同取0,C^C,每一位一定相同,那么结果必然是0,而传递时传递给异或双方中的一个变量,现在两个变量都是它自己,自然置自己为0,而继续异或操作,还是对自己00000000B,进行操作,所以结果必然是0。
3.我比较笨,只能想到最基本方法解决,修改reverse_array如下:
void reverse_array(int a[], int count)
{
int first, last;
for( first=0, last=count-1; first <= last; first++, last-- )
{
if(first != last)
{
inplace_swap(&a, &a);
}
}
}
请小甲鱼老师和各位鱼友指正。
64894068@qq.com
发表于 2014-2-2 11:39:57
1.二进制的相关运算
2.for循环中的等号
3.去除for循环中的等号
scorridor
发表于 2014-2-4 11:53:11
学习中,貌似挺深奥啊
hate茶叶蛋
发表于 2014-2-6 02:09:04
激动人心,无法言表!
泓荥
发表于 2014-2-9 16:11:36
......
刘伯温·
发表于 2014-2-12 16:32:42
激动人心,无法言表!