#include <stdio.h>
#define N 30
#define N 30
void main()
{
//1.去掉最后一位:
int i = 19;
i = i >> 1;
printf("%d", i);
*/
//2.在最后加上一个0
/*
int ip=10;
ip = ip << 1;
printf("%d", ip);
*/
//3.在最后加上一个1
/*
int io=10;
io = io << 1+1;
printf("%d", io);
*/
//4.把最后一位变成1;
int x=21;
x = x | 1;
//x = x | (x + 1);
printf("%d", x);
//5.把最后一位变成0;
x = x | 1 - 1;
//x = x | (x + 1)-1;
printf("%d", x);
//6.最后一位取反;
x = x ^ 1;
printf("%d", x);
//7.把右数第k位变成1;
int k = 3;
x = x | (1 << (k - 1));
//8.把右数第k位变成0;
x = x&!(1 << (k - 1));
//9.右数第k位取反;
x = x ^ (1 << (k - 1));
//10.取末三位;
x = x&((1<<2)+(1<<1)+1);
//11.取末j位;
int j = 5;
x = x&(1<<j-1);
//12.取右数第k位;
int k = 4;
x = x >> (k - 1);
if(x%2==0)
printf("0");
else
printf("1");
{
//1.去掉最后一位:
int i = 19;
i = i >> 1;
printf("%d", i);
*/
//2.在最后加上一个0
/*
int ip=10;
ip = ip << 1;
printf("%d", ip);
*/
//3.在最后加上一个1
/*
int io=10;
io = io << 1+1;
printf("%d", io);
*/
//4.把最后一位变成1;
int x=21;
x = x | 1;
//x = x | (x + 1);
printf("%d", x);
//5.把最后一位变成0;
x = x | 1 - 1;
//x = x | (x + 1)-1;
printf("%d", x);
//6.最后一位取反;
x = x ^ 1;
printf("%d", x);
//7.把右数第k位变成1;
int k = 3;
x = x | (1 << (k - 1));
//8.把右数第k位变成0;
x = x&!(1 << (k - 1));
//9.右数第k位取反;
x = x ^ (1 << (k - 1));
//10.取末三位;
x = x&((1<<2)+(1<<1)+1);
//11.取末j位;
int j = 5;
x = x&(1<<j-1);
//12.取右数第k位;
int k = 4;
x = x >> (k - 1);
if(x%2==0)
printf("0");
else
printf("1");
//x>>(k-1)&1
//13.把右边连续的1变成0;
x = x&(x + 1);
printf("%d", x);
//14.把右边第一个0变成1;
x = x | (x + 1);
printf("%d", x);
//15.把右边连续的0变成1;
x = x | (x - 1);
printf("%d", x);
}
//13.把右边连续的1变成0;
x = x&(x + 1);
printf("%d", x);
//14.把右边第一个0变成1;
x = x | (x + 1);
printf("%d", x);
//15.把右边连续的0变成1;
x = x | (x - 1);
printf("%d", x);
}
//^(异或),相同为0,不同为1;
//交换两个数,不用临时变量;
void main()
{
int I=10;
int j=20;
/*第一种*/
i=i+j;
j=i-j;
i=i-j;
/*第二种*/
i=i^j;
j=I^j;
I=I^j;
}
//随机数的小应用程序
void main()
{
char *name[] = {" "," ",......};
time_t temp;
time(&temp);
int len = sizeof(name)/sizeof(name[0]);
srand(temp);
int res = rand()% len;
printf("%s\n",name[res]);
int i;
scanf("%d",&i);
}
{
char *name[] = {" "," ",......};
time_t temp;
time(&temp);
int len = sizeof(name)/sizeof(name[0]);
srand(temp);
int res = rand()% len;
printf("%s\n",name[res]);
int i;
scanf("%d",&i);
}
/*
rand()函数用来产生随机数,但是是伪随机数。所以需要用srand()函数来设置随机数种子,如果没有设置,自动设置随机种子是1;
int munber =rand()%100;//使用rand()产生0~100以内的随机数字
time_t实际上是长整形long int
*/