练习1:
*
***
*****
***
*
#include<stdio.h>
#include<conio.h>
void main(void)
{
printf(" *\n");
printf(" *** \n");
printf("***** \n");
printf(" *** \n");
printf(" * \n");
getch();
}
练习2:
---------------------------------------------
***www.baidu.com***
++++++++++++++++++++++++++++
#include<stdio.h>
#include<conio.h>
void main(void)
{
char a[]="----------------------------";
char b[]="***www.baidu.com***";
char a[]="++++++++++++++++++++++++++++";
printf("%s\n",a);
printf(" %s\n",b);
printf("%s\n",a);
getch();
}
练习:
1.给定一个整型数a,设置a的bit3(为1),保证其他位不变。
#include<stdio.h>
#include<conio.h>
void main(void)
{
int a=0x205;
a=a|(1<<3);
}
2.给定一个整形数a,设置a的bit3~bit7,保持其他位不变。
#include<stdio.h>
#include<conio.h>
void main(void)
{
int a=0x205;
a=a|(0x1f<<3);
}
3.给定一个整型数a,清除a的bit15,保证其他位不变。
#include<stdio.h>
#include<conio.h>
void main(void)
{
int a=0x205;
a=a&(~(0x1<<15));
printf("%x",a);
getch();
}
4.给定一个整形数a,清除a的bit15~bit23,保持其他位不变。
#include<stdio.h>
#include<conio.h>
void main(void)
{
int a=0x205;
a=a&(~(0x1ff<<15));
printf("%x",a);
}
#include<stdio.h>
int main(void)
{
int a=0xff;
int b=a&(0x3f<<3);
b=b>>3;
printf("0x%x",b);
return 0;
}
6.用C语言给一个整形数的bit7~bit17赋值937(其余位不受影响)。
#include<stdio.h>
#include<conio.h>
void main(void)
{
int a=0x205;
a=a&(~(0x7ff<<7));
a=(937<<7)|a;
printf("0x%x",a);
getch();
}
7.用C语言将一个整形数的bit7~bit17中的值加17(其余位不受影响)。
#include<stdio.h>
#include<conio.h>
void main(void)
{
int a=0x205;
a=(17<<7)+a;printf("0x%x",a);
getch();
}
(2)
#include<stdio.h>
#include<conio.h>
void main(void)
{
int a=0x205;
int b=a&(0x7ff<<7);
a=a&(~(0x7ff<<7));
b=17+(b>>7);
a=a+(b<<7);
printf("0x%x",a);
getch();
}
8.用C语言给一个整形数的bit7~bit17赋值937,同时给bit21~bit25赋值17.
#include<stdio.h>
#include<conio.h>
void main(void)
{
int a=0x205;
a=a&(~(0x7ff<<7));
a=a&(~(0x1f<<21));
a=(937<<7)|a;
a=(17<<21)|a;
printf("0x%x",a);
getch();
}