逻辑移位与算术移位
2010-10-24 13:08
204 查看
#include <conio.h> #include <stdio.h> int fun1 (unsigned word) { return (int) ((word << 24) >> 24); } int fun2 (unsigned word) { return ((int) word << 24) >>24; } int main() { unsigned a; while(1) { scanf("%d",&a); printf("%d,%d/n",fun1(a),fun2(a)); } getch(); return 0; }
int强制转换的时候默认转化为有符号的数字
输入a,输出结果:
a | fun1(a) | fun2(a) |
127 | 127 | 127 |
128 | 128 | -128 |
255 | 255 | -1 |
256 | 0 | 0 |
相关文章推荐
- 算术与逻辑移位
- C语言之逻辑移位与算术移位
- 逻辑移位与算术移位
- C/C++ 算术移位&&逻辑移位 int && long long间的转化
- 算术移位和逻辑移位
- 【C语言/C++】算术移位和逻辑移位以及一道移位的题目
- 从头认识C—算术移位和逻辑移位
- 算术移位和逻辑移位实现分析
- 【C语言/C++】算术移位和逻辑移位以及一道移位的题目
- 算术移位与逻辑移位有什么不同
- (ZT)算术移位和逻辑移位的区别
- 逻辑移位与算术移位的区别
- 逻辑移位和算术移位
- C语言中的运算符>>和<<是算术移位而非逻辑移位
- 逻辑移位与算术移位的区别
- 【转】算术移位和逻辑移位的区别
- 算术移位与逻辑移位有什么区别?
- 算术移位与逻辑移位
- 什么叫逻辑移位和算术移位
- 算术移位 和 逻辑移位