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,"个字节");
}