作业里的小问题
来源:
Lunaticf
2016-07-22
// 任务二:(2) 完成 width 每个柱图中项目的宽度计算。(补全 var width = ???)
var width = ( 100 / cfg.data.length ) >> 0 ;
这里是右移0位的意思吗 为什么右移0位能去掉小数部分....==
写回答
1回答
-
呃~ http://www.cnblogs.com/webooxx/p/5614020.html
Javascript 中右移0位可以用来快速去掉小数,关于位移运算的定义:
右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位。
实际看下效果:
32.5 >> 0 // 32
右移是什么作用?
(32).toString('2') // 转换为2进制,得到 100000
( 32 >> 1 ).toString(2) // 右移1位,得到 10000
对比下:
100000 // 实际值 32
010000 // 实际值 16
怎么去掉小数位?
32.5 >>1 << 1
或者直接
32.5 >> 0
022016-07-25
相似问题