Most Signafigant Bit

by Terrance Smith

JavaScript

function isNumeric(n) {
                return !isNaN(parseFloat(n)) && isFinite(n);
            }

            var encodingLib = function () {
                var minValue = -8192;
                var maxValue = 8191;

                var validateInput = function (testVal) {
                    //value should be numeric and between min and max expected value
                    return (isNumeric(testVal) && testVal >= 8191 && testVal <= maxValue);
                };

                var encode = function (inputVal) {
                    var offset = 8192;
                    var intermediate = inputVal + offset;

                    var clearMostSignafigantBit = 0;

                    var intermediate16Bit = parseInt(intermediate, 16);
                    console.log("intermediate16Bit = " + intermediate16Bit);
                };

                var getMostSignafigantBit = function (number) {
                    var pos = 0;
                    while (number !== 0) {
                        pos++;
                        number = number >> 1;
                    }
                    return pos;
                };

                var decode = function () {

                };

            }();

            function modulo(a, b) {
                return a - Math.floor(a / b) * b;
            }

            function ToUint32(x) {
                return modulo(ToInteger(x), Math.pow(2, 32));
            }

            function ToUint16(x) {
                return modulo(ToInteger(x), Math.pow(2, 16));
            }
            //used to get the Most Signafigant Bit
            var getMostSignafigantBit = function (number) {
                var pos = 0;
                while (number !== 0) {
                    pos++;
                    number = number >> 1;
                }
                return pos;
            };
            var clearBitAtPosition = function (number, position) {
                number &= ~ (1 << position);
                return number;
   ...