o*g
4 楼
看来你不知道啥是位移
比如一个byte: 0000 0001
左移一位就是0000 0010
位移运算老快了。所以有的需要*4之类的就可以左移两位,速度上快N倍。
计算机无非是用0和1来表示你定义的东西,失去定义就剩一些0和1了,没意义。
比如定义一个byte的最右一位表示有无太阳,1表示有,0表示没有
这个byte的右数第二位表示有无月亮,1表示有,0表示没有
那0000 0001就表示有太阳没有月亮。左移一位就变成0000 0010,变成有月亮没有太阳
了。
对了,对位移操作的变量更应该关心其长度。
比如it是int可能是32位的,64位的或128位的。(也可能是其他长度的)
要是128位的,那结果就不是0了
【在 L*******g 的大作中提到】
: 谢谢。it是int型,这个移位的效果/用途是什么?
比如一个byte: 0000 0001
左移一位就是0000 0010
位移运算老快了。所以有的需要*4之类的就可以左移两位,速度上快N倍。
计算机无非是用0和1来表示你定义的东西,失去定义就剩一些0和1了,没意义。
比如定义一个byte的最右一位表示有无太阳,1表示有,0表示没有
这个byte的右数第二位表示有无月亮,1表示有,0表示没有
那0000 0001就表示有太阳没有月亮。左移一位就变成0000 0010,变成有月亮没有太阳
了。
对了,对位移操作的变量更应该关心其长度。
比如it是int可能是32位的,64位的或128位的。(也可能是其他长度的)
要是128位的,那结果就不是0了
【在 L*******g 的大作中提到】
: 谢谢。it是int型,这个移位的效果/用途是什么?
O*d
6 楼
left shift operation. 楼主需要复习一下二进制。
相关阅读
Two-stage queuing simulationpython print filename and lineno为什么Facebook和CNN显示的广告都是一样的?请教:移动APP的 服务端开发stackoverflow的排名和vote系统是怎么实现的搭一个FB类的网站,大家推荐用什么技术?override operator[] inline能不能开个王垠俱乐部,这样版面可以清净一点推荐下FOM吧不给果果交保护费的后果博通宣布关闭手机芯片业务裁员2500人把Drupal架在AWS上,大家看这个方案可行吗??Android程序员们,你们都用什么广告平台?node里,async.waterfall async.auto 大家用的多么?总感觉怪怪的原来码工就是"爱码士"IBM跟苹果联盟:打撒剔牙脸 (转载)Python QT不支持大分辨率显示器?这是什么语法?以前日本PC流行过一个日本自己的OSWin环境下version control大家都用那些?