Chinaunix首页 | 论坛 | 博客
  • 博客访问: 817932
  • 博文数量: 62
  • 博客积分: 526
  • 博客等级: 二等列兵
  • 技术积分: 2078
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-04 20:41
个人简介

博客迁移至 freefe.cc

文章分类

全部博文(62)

分类: JavaScript

2014-03-03 00:15:28


原文地址:

原文作者:Dr. Axel Rauschmayer

    根据ECMAScript规范,在JavaScript中的所有的数字均是浮点型。但是偶尔也会时不时窜出整型的概念。本博文就来阐释一下。


何为整型?

   
     JavaScript只有浮点型数字。整型会以两种方式在内部出现。第一种,很多JavaScript引擎会存储一个足够小并且不带小数的数作为整数(比如,31比特),尽可能维持较长时间。如果一个数的数量级太大或者该数含有小数,那么引擎就必须切换回浮点型。
    第二种,ECMAScript规范中含有整型运算符:即,所有的位运算符。这些运算符会转换操作符至32位的整型,然后返回该32位整型。对于规范来说,整型只是意味着没有小数,32位意味着它们是归属在一定的范围内。对于引擎来说,32位整型一个通常以整型(非浮点型)来引入和维护的。


整型的范围


    在JavaScript中,整型的以下范围在内部极为重要:

    安全整型,JavaScript支持的最大实际可用的整型范围:
        带符号53比特,范围(-2的53次方,2的53次方)

    数组索引:
        无符号32比特
        最大长度:2的32次方-1
        索引的范围:[0, 2的32次方-1 )(不包括最大长度)

    按位操作数:
        无符号右移(>>>):32比特,无符号,范围[ 0, 2的32次 )
        所有的其他位操作符:32比特,有符号,范围[-2的32次 , 2的32次)

    字符码,UTF-16编码单位数:
        以String.fromCharCode()接收
        以String.prototype.charCodeAt()返回
        16比特,无符号


更多关于整型的文章

    
    所有关于整型的文章均以  
 
标签标识。以下两篇包含了整型转换:
    通过移位运算符来转换整型: 
    通过parseInt()来转换整型: 

引用

     
      
    标签 :位操作符的文章 
阅读(5816) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~