Highest JavaScript Integer

http://stackoverflow.com/questions/307179/what-is-javascripts-max-int-whats-the-highest-integer-value-a-number-can-go-t

by briguy37

HTML

Highest Number: <span id="highestNumber"></span><br/>
Lowest Number: <span id="lowestNumber"></span>

JavaScript

/**
 * Checks if adding/subtracting one to/from a number yields the correct result.
 *
 * @param number The number to test
 * @return true if you can add/subtract 1, false otherwise.
 */
var canAddSubtractOneFromNumber = function(number){
    var numMinusOne = number - 1;
    var numPlusOne = number + 1;
    
    return ((number - numMinusOne) == 1) && ((number - numPlusOne) == -1);
}

//Find the highest number
var highestNumber = 3;//Start with an integer 1 or higher

//Get a number higher than the valid integer range
while(canAddSubtractOneFromNumber(highestNumber)){
    highestNumber *= 2;
}

//Find the lowest number you can't add/subtract 1 from
var numToSubtract = highestNumber / 4;
while(numToSubtract >= 1){
    while(!canAddSubtractOneFromNumber(highestNumber - numToSubtract)){
        highestNumber = highestNumber - numToSubtract;
    }
    
    numToSubtract /= 2;
}        

//And there was much rejoicing.  Yay.    
document.getElementById('highestNumber').innerHTML = highestNumber;


//Find the lowest number
var lowestNumber = -1;//Start at -1 or lower

//Get a number higher than the valid integer range
while(canAddSubtractOneFromNumber(lowestNumber)){
    lowestNumber *= 2;
}

//Find the lowest number you can't add or subtract 1 from, which is the highest continuous int.
numToSubtract = lowestNumber / 4;
while(numToSubtract <= -1){
    while(!canAddSubtractOneFromNumber(lowestNumber - numToSubtract)){
        lowestNumber = lowestNumber - numToSubtract;
    }
    
    numToSubtract /= 2;
}        
document.getElementById('lowestNumber').innerHTML = lowestNumber;