1.其中,data为某一任意确定值。
#include<stdio.h>
int main(int argc, const char *argv[])
{
unsigned data;
int c;
c = data|0xf0;
printf("%#x\n",c);
return 0;
}
2.1)
#include<stdio.h>
int main(int argc, const char *argv[])
{
int a;
scanf("%d",&a);
a = a|1<<3;
printf("%#x\n",a);
return 0;
}
2.2)
#include<stdio.h>
int main(int argc, const char *argv[])
{
int a;
scanf("%d",&a);
a = a&~(1<<3);
printf("%#x\n",a);
return 0;
}
3.k = 0x5;
#include<stdio.h>
int main(int argc, const char *argv[])
{
int k;
k = 11>>1;
printf("%#x\n",k);
return 0;
}
4.
#include<stdio.h>
int main(int argc, const char *argv[])
{
int a,b,c,max,meddle,min;
printf("输入三个整数\n");
scanf("%d %d %d",&a,&b,&c);
min = (a>b?b:a)>c?c:(a>b?b:a);
meddle = (a>b?a:b)>c?c:(a>b?a:b);
max = (a>b?a:b)>c?(a>b?a:b):c;
printf("从大到小排序:%d>%d>%d\n",max,meddle,min);
return 0;
}
5.1)当输入为确定值时
#include<stdio.h>
int main(int argc, const char *argv[])
{
int num1 = 10,num2 = 20,z;
z = num1;
num1 = num2;
num2 = z;
printf("%d %d\n",num1,num2);
return 0;
}
2)随机赋值时:
#include<stdio.h>
int main(int argc, const char *argv[])
{
int num1,num2,z;
scanf("%d",&num1);
scanf("%d",&num2);
z = num1;
num1 = num2;
num2 = z;
printf("%d %d\n",num1,num2);
return 0;
}
6.有一变量unsigned char data,
1)将data第六位置1
#include<stdio.h>
int main(int argc, const char *argv[])
{
unsigned char data;
int a = data|0x40;
printf("data = %d\n",data);
printf("a = %#x\n",a);
return 0;
}
2)将第六位清0
#include<stdio.h>
int main(int argc, const char *argv[])
{
unsigned char data = 0x10;
int a = data&0xbf;
printf("a = %#x\n",a);
return 0;
}
3)第六位取反
#include<stdio.h>
int main(int argc, const char *argv[])
{
unsigned char data = 0x10;
int a = data^0x40;
printf("a = %#x\n",a);
return 0;
}
7.