#include <stdio.h>
// void Swap(int *p1,int *p2);
int main(int argc, char const *argv[])
{
//正数的反码补码相同;
//负数,符号位不变,反码取反,补码取反加1(也就是反码+1)
// int a;
// int b;
// int *p1 = &a;
// int *p2 = &b;
// printf("请输入两个数字,交换:\n");
// scanf("%d %d",p1,p2);
// Swap(p1,p2);
// printf("%d %d\n",*p1,*p2);
// int c = 10;
// printf("C = %d\n",c += c -= c *= 1);
/*
a 5 :0101
b 4 :0100
a ^ b ^ b = a
a ^ b ^ a
a = -6
a = 1000 0110;
fan : 1111 1001;
补: ;1111 1001 = 64 32 16 8 1
a = a ^ b;
b = a ^ b; a ^ b ^ b;
a = a ^ b; a ^ a ^ b;
temp=a^b :0001
temp^a :0101: a;
temp^b :0101 a;
10的取反:-10的取反;
源码:0000 1010,
-10;绝对值 10:0000 1010;1111 0101;+1
-42:绝对值补码:0010 1010;取反:1101 0101
0000 0111
1111 1000;fushu yuanma
1000 0111 fanma
bufam 1000 1000;
fushu1
:-10: 1000 1010
取反:得到: 0111 0101
10 : 0000 1010
取反 :1111 0101
: 1000 1010
加1 :1000 1011
- 11;
-10 :源码1000 1010;
取反后的源码,是个正数 : 0111 0101;
-7 : 源码 :1000 0111;
反码:1111 1000;
补码:1111 1001;
,-7,在计算机中以补码形式存在的,所以是应该对补码取反:
取反:0000 0110;
temp = a^b;
a = a ^
*/
int a = 5;
int b = 4;
int temp;
temp =a ^ b
a =
return 0;
main()
{ int a=7,b=8,*p,*q,*r;
p=&a;
q=&b;
r=p;
p=q;
q=r;
printf(“%d,%d,%d,%d\n”,*p,*q,a,b);
}
}
// void Swap(int *p1,int *p2)
// {
// int temp;
// temp = *p1;
// *p1 = *p2;
// *p2 = temp;
// }
// a +=(a-10) 10
//10 = 10* 1
#include <stdio.h>
// void Swap(int *p1,int *p2);
int main(int argc, char const *argv[])
{
//正数的反码补码相同;
//负数,符号位不变,反码取反,补码取反加1(也就是反码+1)
// int a;
// int b;
// int *p1 = &a;
// int *p2 = &b;
// printf("请输入两个数字,交换:\n");
// scanf("%d %d",p1,p2);
// Swap(p1,p2);
// printf("%d %d\n",*p1,*p2);
// int c = 10;
// printf("C = %d\n",c += c -= c *= 1);
/*
a 5 :0101
b 4 :0100
a ^ b ^ b = a
a ^ b ^ a
a = -6
a = 1000 0110;
fan : 1111 1001;
补: ;1111 1001 = 64 32 16 8 1
a = a ^ b;
b = a ^ b; a ^ b ^ b;
a = a ^ b; a ^ a ^ b;
temp=a^b :0001
temp^a :0101: a;
temp^b :0101 a;
10的取反:-10的取反;
源码:0000 1010,
-10;绝对值 10:0000 1010;1111 0101;+1
-42:绝对值补码:0010 1010;取反:1101 0101
0000 0111
1111 1000;fushu yuanma
1000 0111 fanma
bufam 1000 1000;
fushu1
:-10: 1000 1010
取反:得到: 0111 0101
10 : 0000 1010
取反 :1111 0101
: 1000 1010
加1 :1000 1011
- 11;
-10 :源码1000 1010;
取反后的源码,是个正数 : 0111 0101;
-7 : 源码 :1000 0111;
反码:1111 1000;
补码:1111 1001;
,-7,在计算机中以补码形式存在的,所以是应该对补码取反:
取反:0000 0110;
temp = a^b;
a = a ^
*/
int a = 5;
int b = 4;
int temp;
temp =a ^ b
a =
return 0;
main()
{ int a=7,b=8,*p,*q,*r;
p=&a;
q=&b;
r=p;
p=q;
q=r;
printf(“%d,%d,%d,%d\n”,*p,*q,a,b);
}
}
// void Swap(int *p1,int *p2)
// {
// int temp;
// temp = *p1;
// *p1 = *p2;
// *p2 = temp;
// }
// a +=(a-10) 10
//10 = 10* 1