【例 11-6】将字符变量 ch 所占的字节单元清零。
#include<stdio.h>
main( )
{
char ch=67;
printf("ch=%d ",ch);
ch=ch&0;
printf("ch&0 后 ch=%d ",ch );
}
【例 11-7】将一个 8 位的二进制整数的低 4 位置 1,高 4 位不变。
#include<stdio.h>
void main( )
{
char x=67; /*初值 67 的二进制为 0100 0011*/
printf(“x 初值为%d”,x);
x=x|15;
printf(“x|15 运算后的值为%d”,x); /*结果 79 的二进制为 0100 1111*/
}
【例 11-8】设字符 x=’l’,将其二进制数的高 4 位保留原样,低 4 位各位翻转。
#include<stdio.h>
void main( )
{
char x='l';
printf("'l'=%d",x);
x=x^15;
printf("x^15=%d",x);
}
【例 11-9】输入两个数字符 a 和 b,由 a、b 组合生成整数 c(c 用字符类型表示),并显示
出来。生成规则是:a 的低 4 位作为 c 的高 4 位,b 的低 4 位作为 c 的低 4 位。
#include <stdio.h>
void main()
{
char a,b,c;
while(1)
{
printf("Please input a and b:");
scanf("%c,%c",&a,&b); /*输入数据以字符形式存入 a,b 变量*/
if ((a<='9')&&(a>='0')&&(b<='9')&&(b>='0')) /*确定是字符型数据*/
break;
}
a=a<<4; /*a 左移 4 位,则低 4 位移至高 4 位*/
b=b&0x0f; /*屏蔽 b 的高 4 位,保留低 4 位*/
c=a|b;
printf("c=%d",c);
}
评论0