1 ?為什么位運算的操作數只能是整型或者字符型數據以及他們的變體呢??2 ?為什么操作數的移位運算并不改變原來操作數的值呢??
1 回答
已采納

asd8532
TA貢獻143條經驗 獲得超187個贊
計算機里的數據都是二進制保存的。無論是float還是double型的,實際保存的時候,都是0和1的組合,都是二進制的。
C語言中整型常量才能進行位運算,這是這個語言所作出的限制,與計算機沒有什么關系。它如果被設計成允許其他類型數據可以進行位運算,也是可以的。只是由于數據保存方式的特殊性,其他類型數據做位運算從可理解性和實現效率方面來說,都有缺點,所以不適合做位運算。
就像有賦值語句 a=2;
然后左移兩位 a<<2;
a還是2
并沒有變成 8
- 1 回答
- 0 關注
- 1850 瀏覽
添加回答
舉報
0/150
提交
取消