需要符号拓展的移位运算
来源:互联网 发布:天猫网络环境异常 编辑:程序博客网 时间:2024/05/22 04:57
处理中文ANSI文件的时候写过一段代码,将连续的两个字节拼成一个无符号short类型:
char a=0xfd, b=0xab;unsigned short c;c = (a<<8) + b;执行完之后,实际上c的值为0xfcab;
如果直接执行:
unsigned short d = b;
则d的值为0xffab;
因为b是有符号数,会像高位进行符号拓展。所以之前的代码中执行相加之后,高位的值会少1.
这里如果将char类型改成unsigned char,就能得到想要的结果0xfdab。
若一开始想到符号拓展,理解起来倒是不麻烦,不过,这种情况放在一段连续代码中,还是会思维短路。
0 0
- 需要符号拓展的移位运算
- 有符号整数的移位运算
- 关于有符号和无符号的移位运算
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- 左移位运算符>>、带符号的右移位运算符>>
- >>> java的扩展移位运算符 无符号右移
- Java移位运算符详解实例--左移位运算符<<、右移位运算符>>>、带符号的右移位运算符>>
- 负数的带符号和不带符号的移位运算
- C语言 有符号数和无符号数的移位运算
- 位运算,有符号值, 算术移位
- Java的运算符号(逻辑与、或、非、移位运算)
- Java的运算符号(逻辑与、或、非、移位运算)
- 移位运算的问题
- i7vpn网络加速器的优势跟使用方法
- C++学习笔记(第二章 数据类型 变量 表达式 if语句)
- C++异常传递三种不同方式介绍
- 解读Unity中的CG编写Shader系列7——漫反射
- 深度学习( Deep Learning )软件资源列表
- 需要符号拓展的移位运算
- C++学习笔记(第三章 多分支结构 循环程序设计 之一)
- Yii通过Ajax修改字段值的方法
- [Rtsp]海康网络摄像头基于RTSP协议的windows平台监控
- 你好,C++(10)这次的C++考试你过了没有?C++中表示逻辑判断的布尔数据类型
- Deep Learning Tutorials 0.1
- Android Activity之间动画完整版详解
- 黑马程序员-交通灯管理系统
- jQuery移除tr