⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitshifttest.cpp

📁 《基于Symbian OS的手机开发与应用实践》这本书的配套源码。
💻 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 + -