c语言中为什么左移不分符号数无符号数,而右移分呢??
2016-01-18 23:54
423 查看
因为在C语言标准中,只规定了无符号数的移位操作是采用逻辑移位(即左移、右移都是使用的逻辑左移和逻辑右移)。 而对于有符号数,其左移操作还是逻辑左移,但右移操作是采用逻辑右移还是算术右移就取决于机器了!(算术右移和逻辑右移的区别是:算术右移不右移符号位,即最高位,右移后前补0还是1取决于符号位的值;逻辑右移执行时将移动符号位,右移后前补0) 因此,一个程序如果使用了有符号数的右移位操作,它就是不可移植的了。 http://zhidao.baidu.com/link?url=J_LWILg91_X4iYIkjFdYOL8GNcghyP3YvmiIR4cLZ_qgZcDOYqcqnB1UH8f-XEZy3dsWkShceKwqEUUgRnDk7q&qq-pf-to=pcqq.c2c
相关文章推荐
- 【UE4官方文档翻译】Introduction to C++ Programming in UE4 (介绍UE4中的C++编程)
- 【OC语言】关于block的使用
- c++的坑--字符串内存拷贝注意事项
- 分别使用mingw和visual studio对cpp文件编译
- C++ Builder 静态编译设置
- c++的坑--多线程退出,单例退出
- C++制作俄罗斯方块 日志
- C++学习 【1】 C++的初步认识
- C语言之反序数组和求最大值和最小值
- C++库常用函数一览(<string><cctype><algorithm><cmath><cstdlib><iomanip><numeric>)
- C++重载和多态,
- 【c/c++】C++文件读写详解(ofstream,ifstream,fstream)
- 【C++】 引入一维数组的元素
- C++11学习笔记
- C语言格式化输入/输出
- C++语言零基础入门教程:2.2 C/C++头文件大揭秘,""和<>有什么区别
- 改善C++ 程序的150个建议学习之建议20:使用memcpy()系列函数时要足够小心
- C语言 - #define宏的定义与使用方法
- C++开发人脸性别识别教程(13)——针对单张图片的性别识别
- C语言 - typedef关键字