牛骨文教育服务平台(让学习变的简单)
博文笔记

javascript的整数位数

创建时间:2018-04-07 投稿人: 浏览次数:274

    今天偶然发现了一道题目:

    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;
};

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。