在c语言中1<<i与i<<1的区别是什么

如题所述

第1个回答  2012-09-15
这要看变量的数据类型是浮点还是整形了。
对于整形数之间相除,结果是取其去余数的商。如1/3=0, 7/2=3等
结论:(1)两个数都为整形时,结果不一样。如int i=3,那么1/i=0. 若a=10,那么a=a/i的结果是a为3,
而a*=1/i的结果是a为0.
(2)i为浮点时,两个表达式结果一样。如float i=3,那么1/i=0.33333.
第2个回答  2014-01-20
1<<i 把1左移i位,左移1位就相当于X2
i<<1 把i左移1位,相当于x2
第3个回答  2014-01-20
<<在C++中,有两个运算含义:1.重载输出流运算符,一般运用格式为:cout<<x;其中cout为流文件,如显示设备,输出设备,或者数据文件等。2.数据移位运算符,左移几位,如:x=i<<4;就是将i的值左移4位(放大2的4此方)后,赋给x,若i=2,则X=32。
第4个回答  2014-01-20
1 << i ,1左移i位
i << 1, i 左移 1位
第5个回答  2012-09-15
两个结果结果不同:比如
a=3,i=2;
a=a/i的结果是:1
而a*=1/i的结果是0吧
相似回答