关于json和64位表示
转自:https://segmentfault.com/a/1190000002608050
1.介绍
JSON本身并没有对整数的大小有硬性限制,而是依赖于使用JSON的库以及相应的编程语言的数据类型。JSON(JavaScript Object Notation)是一种轻量级数据交换格式,它独立于语言和平台。
- nodejs中使用JavaScript语言,JavaScript能表示的最大值是2^53-1。
- Java中最大是Int64类型,超出要额外用bigint表示,最大值是2^63-1;
- C++中有uint64类型,C++服务之间通信,自然可以解析。
2.为什么JavaScript支持范围有限?
JS 中所有的数字类型,实际存储都是通过 8 字节 double 浮点型 表示的。
- 1 位符号位
- 11 位指数位 (关键是有这个占位了)
- 52 位尾数位