javascript的整数位数
今天偶然发现了一道题目:
Given a 32-bit signed integer, reverse digits of an integer.
题目让我写一个函数,它把 integer传进来,函数返回 integer的反转数.这个题也没什么难度,但是他要求32位,而我们都知道js里的整数只有16位,这样的话,要是参数稍微大一点,肯定会溢出
所以我无奈之下将 integer转化为字符串,将字符串反转之后再通过parseInt转化为整形查过资料后发现parseInt支持的整形最大可以到1999999999,这样32位整形就不会溢出了
完整的代码如下:
var reverse = function(x) { var flag=0; if(x<0) { flag=1; } var y=x.toString(); var l=y.length; var i=l-1; var s=""; while (i>=0){ s=s+y[i]; i--; } var r=parseInt(s); if(flag===1) { r=-r; } if(r>4294967296/2||r<-4294967296/2) r=0; return r; };
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了