📄 bitshifttest.cpp
字号:
// BitShiftTest.cpp : 移位操作测试
//
// 测试结果,<< >>运算不影响有符号数符号位:
// >>运算:符号位为1,最高位补1;
// >>运算:符号位位0,最高位补0
// >>运算:无符号数,最高位都补0
// <<运算:符号数,符号位不变,其他位移动,低位补0
// <<运算:无符号数,所有位移动,低位补0
#include <stdio.h>
int main(int argc, char* argv[])
{
char a = 16;
char b = -15;
unsigned char ua = 15;
unsigned char ub = -16;
unsigned char uc = 130; //0x82
printf("a的值为:%d\n", a);
printf("b的值为:%d\n", b);
printf("ua的值为:%d\n", ua);
//-16补码F0,转为符号后为ub-->240
printf("ub的值为:%d\n", ub);
printf("uc的值为:%d\n\n", uc);
printf("a左移2位的结果为:%d\n", (char)(a<<2));
printf("b左移2位的结果为:%d\n", (char)(b<<2));
printf("ua左移2位的结果为:%d\n", (unsigned char)(ua<<2));
//F0 --> C0 = 192
printf("ub左移2位的结果为:%d\n", (unsigned char)(ub<<2));
//8
printf("uc左移2位的结果为:%d\n\n", (unsigned char)(uc<<2));
printf("a右移2位的结果为:%d\n", (char)(a>>2));
printf("b右移2位的结果为:%d\n", (char)(b>>2));
printf("ua右移2位的结果为:%d\n", (unsigned char)(ua>>2));
printf("ub右移2位的结果为:%d\n", (unsigned char)(ub>>2));
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -