关于数值的最大值

数值都有个最大值,如果你想强行大过它, 比如这么干

const NM = Number.MAX_VALUE;
console.log(NM+998,NM==NM+998);//true
console.log(NM+pow(2,980));//Infinity

发现是越不过去的,不可能大过MAX_VALUE,而且如果超出了最大处理范围,还会出现Infinity。

这个MAX_VALUE最大值是怎么计算得来呢? js遵循的是IEEE754双精度浮点数,要求出这个值,得知道尾数部分和指数部分。

指数部分是不可能超过1023。 如

for(let i=1;i<Number.POSITIVE_INFINITY;i*=2)
  console.log( (log(i)/LN2).toPrecision(4) );

输出最多到1023,超过POSITIVE_INFINITY就跳出循环。

知道了指数部分,接着再让尾数部分全部为1。所以

console.log(
    Array.from({length:52},(v,i)=>pow(2,~i)).reduce((a,b)=>a+b,1)*pow(2,1023)==
    Number.MAX_VALUE
 )
//true

这就完事儿了~

这东西知道就行了,工作中也确实没怎么用到过。

时间: 2024-08-11 03:33:14

关于数值的最大值的相关文章

剑指Offer(Java版)第六十七题:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。 例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口, 他们的最大值分别为{4,4,6,6,6,5}。

/*给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}: 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,3,4

Java开发中经典的小实例-(比较输入数值的最大值和最小值)

//输入数字个数来产生数字并且比较大小 import java.util.Scanner; public class Test1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入你要输入的数字个数:"); int num = sc.nextInt(); int[] array = new int[num]; for (int i

JAVA 各种数值类型最大值和最小值 Int, short, char, long, float,&amp;nbs

代码片段: byte bmax, bmin; short shmax, shmin; char cmax, cmin; int imax, imin; long lmax,lmin; float fmax,fmin; double dmax,dmin; fmax = Float.MAX_VALUE; fmin = Float.MIN_VALUE; dmax = Double.MAX_VALUE; dmin = Double.MIN_VALUE; bmax = Byte.MAX_VALUE; bm

剑指offer系列38----滑动窗口的最大值(不懂????????????????????????????????????????????????)

[题目] 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}: 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,

剑指offer 滑动窗口的最大值

题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}: 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,

求滑动窗口的最大值

问题:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5} 问题很容易理解, 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1

剑指Offer--065-滑动窗口的最大值

1 链接 牛客OJ:滑动窗口的最大值 九度OJ:未收录 GitHub代码: 065-滑动窗口的最大值 CSDN题解:剑指Offer–065-滑动窗口的最大值 | 牛客OJ | 九度OJ | CSDN题解 | GitHub代码 | | --- |:---:|:---:| ---:| 065-滑动窗口的最大值 2 题意 题目描述 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值 例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3 那么一共存在6个滑动窗口,

剑指offer(六十四)之滑动窗口的最大值

题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}: 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,

滑动窗口的最大值(STL的应用+剑指offer)

滑动窗口的最大值 参与人数:767时间限制:1秒空间限制:32768K 通过比例:21.61% 最佳记录:0 ms|8552K(来自 ) 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}: 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1