猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
c语言位运算问题??
1 为什么位运算的操作数只能是整型或者字符型数据以及他们的变体呢??
2 为什么操作数的移位运算并不改变原来操作数的值呢??
小王同学2015
浏览 1813
回答 1
1回答
asd8532
计算机里的数据都是二进制保存的。无论是float还是double型的,实际保存的时候,都是0和1的组合,都是二进制的。C语言中整型常量才能进行位运算,这是这个语言所作出的限制,与计算机没有什么关系。它如果被设计成允许其他类型数据可以进行位运算,也是可以的。只是由于数据保存方式的特殊性,其他类型数据做位运算从可理解性和实现效率方面来说,都有缺点,所以不适合做位运算。就像有赋值语句 a=2;然后左移两位 a<<2; a还是2并没有变成 8
2
0
2
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C
typedef入门问题
1 回答
C#
typedef入门问题
1 回答
C++
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续