1、有的计算机一个变量是2个字节,有的是四个字节,当然用处不是很多,但是先记录下来,方便以后查阅,主要思想是用到<<左移运算符,1如果移动到某一位,是负数证明,他在内存中已经移动到最顶部了,这样就可以判断是多少位的内存空间了;具体代码如下:
function getInit(){let start=1;let arr=[8,16,32,64];for(let i=0,len=arr.length;i<len;i++){for(let j=0;j<=arr[i]-2;j++){if(j==arr[i]-2){let prev=1<<j;let next=1<<(j+1);if(prev>0&&next<0){let result= arr[i];return result;}}}}}let coreBit=getInit();console.log("您当前电脑的变量占据:",parseInt(coreBit/8),"个字节");
注意一下,这块有一个条件,就是1左移到8-2,16-2,32-2,64-2这些位置,如果是整数,下一次位移是负数,那么就可以判断是多少位内存了。
后来发现了一个更简便的方法:
function getInit(){let result;for(let i=1;i<=1000;i++){let leftVal=1<<i;if(leftVal==1){result=i/8;break;}}console.log("您当前电脑的变量占据:",result,"个字节");}
