一、位运算符和位运算
实型数据:浮点型
1.1、“按位”与“运算符”(&)
1.2、清零
则是:11100001 (11100101的第二位是1)
1.3、“按位或”与“运算符”(|)
题目:
ASCⅡ码:A-Z(65-90);a-z(97-122)。
A是65:100 0001
a是97: 110 0001
内幕:第五位是0则是大写;是1则是小写
#include<stdio.h>
void main()
{
char ch,temp;
printf("请输入一个字母:\n");
ch = getchar();
temp = getchar(); //覆盖掉回车符
while( !((ch>='A' && ch<='Z') || (ch>='a' && ch<='z')) )
{
printf("输入有误,请重新输入一个字母:\n");
ch = getchar();
}
if( ch & 32) //32-> 100000 第五位制是否1
{
ch = ch & 223; //第五位制0,变成大写
}
else
{
ch = ch | 32; //第五位制1,变成小写
}
putchar(ch);
ch = getchar();
putchar(ch);
}
1.4、“异或”运算符(|)
1.5、“取反”运算符(~)
1.6、“左移”运算符(<<)
左移一位就相当于乘以2。左移两位就是乘以4。,但这种情况只适用于该数左移时被溢出舍弃的高位中不包含1的情况
1.7、“右移”运算符(>>)
例如:a的值是十进制数-2
二、位运算赋值运算符
例题:取一个char a 从右端开始的2~5位。
略~~~