验证C++移位运算符,符号位的溢出效果,符号位的自动扩展与不自动扩展的情况
来源:互联网 发布:二战历史类书籍 知乎 编辑:程序博客网 时间:2024/06/05 05:12
C++中的移位运算符<<,>>,移位的效果不是循环移位(如果需要,可用位与、位或人为实现循环移位),其他位数据会丢失。
#include <iostream>
#include <bitset>
#include <string.h>
using namespace std;
int main()
{//移位不是循环移位,会丢失其他位。如果是带符号的,类型转换时会自动扩展符号位;
// 如果是无符号的,类型转换时不会扩展符号位。
unsigned char a = 193;
a = a << 1;
//符号位不自动扩展。
cout << (int)a << endl; //130
a = a << 2;
//符号位溢出
cout << (int)a << endl; //8
char i = 193;
i = i << 1;
//符号位自动扩展
cout << (int)i << endl; //-126
i = i << 2;
//符号位溢出
cout << (int)i << endl; //8
char j = 193;
j = j >> 1;
//右移时符号位扩展。
cout << (int)j << endl; //-32
unsigned char k = 193;
k = k >> 1;
//无符号类型右移时符号位不自动扩展。
cout << (int)k << endl; //96
return 0;
}
- 验证C++移位运算符,符号位的溢出效果,符号位的自动扩展与不自动扩展的情况
- 有符号数据的符号位扩展
- C语言的位域和符号位扩展
- >>> java的扩展移位运算符 无符号右移
- 有关计算机运行时的零扩展和符号扩展与移位运算的总结
- c中符号位扩展
- 符号位扩展问题
- 关于整型数据符号位扩展的问题
- 关于整型数据符号位扩展的问题 .
- 树莓派(ARM处理器), 符号位扩展的问题
- 关于整型数据符号位扩展的问题
- 关于整型数据符号位扩展的问题
- c++类型转换时的符号位扩展
- 关于整型数据符号位扩展的问题
- c语言的带符号扩展和无符号扩展
- c语言的带符号扩展和无符号扩展
- 按位“或”运算符在带符号扩展操作数上使用;请考虑首先强制转换为较小的无符号类型
- 符号位扩展问题总结
- C++拷贝构造函数详解
- Android使用尺寸资源 dimens
- Python(x,y)
- 获取当前日期的T-SQL语句
- 为什么 ++[[]][+[]]+[+[]] = 10?
- 验证C++移位运算符,符号位的溢出效果,符号位的自动扩展与不自动扩展的情况
- NOR型flash与NAND型flash的区别
- 织梦LIST标签分列的问题
- 期货投资的艺术:在不确定性中寻找确定性
- DM368 NAND Flash启动揭秘
- 调试小记3
- linux信号灯操作
- webwork+spring+ibatis顺利的存取BLOB字段- -
- App Inventor