咋们搞前端的,想必很少有机会接触二进制吧,那些位运算啥的,不是底层应该考虑的问题嘛?昨天看到一个题目,它和二进制相关,但用不用位运算都没关系,借助JS的语言特性,也能轻易地解决。描述如下:写一个函数,接收一个十进制的正整数作参数,用二进制表示它,并返回那些数位等于1的数目。来个例子:1234表示为二进制是10011010010,这里面有5个1,所以返回5。看了这个描述,我的脑海中首先想到的是,以前老师上课教的,怎么从十进制转二进制(书到用时方恨少^_^)。好在我记性不错,很快想到了,对这个正整数先对2取余,再除以2,结果再对2取余,再除以2......直到结果为0。那么,在上面的过程里面用一个变量记录余数为1的次数,最后返回即可。于是便有了下面的做法:var countBits = function(n) { &
简介:咋们搞前端的,想必很少有机会接触二进制吧,那些位运算啥的,不是底层应该考虑的问题嘛?
【相关问答推荐】:
Atas ialah kandungan terperinci 推荐10款统计二进制源码(收藏). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!