做程序员
遇到 bug 了,要学会问问题,
自己写的代码截图+问题描述
问题描述说不清楚,而且没有图片,没人知道你错在哪里
js中位运算2<lt32结果不正确解决:-----解决方案--------------------
javascript位操作符会把数值转换成32位的整数再执行操作,最后再把结果转回64位。所以结果只能是32位整数能表示的范围了。
------解决方案--------------------
肯定溢出了,如果真想得到数据,那就要想其他的办法了,比如说可以把它分解成两个小一点的数,把这两个小一点的数转为数组,循环这两个数组,相乘,得到个位,十位,百位,千位。。。。直到最高位。分别把个位,十位,百位放在另外一个数组里。输出就OK了。具体可以参考大数相乘的算法。
Infinity,即无穷大。这种情况一般出现在计算的时候,无法表示计算结果的情形。如果计算结果是很大的数,后面只是会显示e,说明还是可以近似表示的。
可以尝试用1除以0,这其实在很多语言是不允许的,但是js计算会显示为无穷大。