Я работаю над библиотекой JavaScript для себя. Эта библиотека поможет вам преобразовать двоичное число в десятичное число. Функция JavaScript по умолчанию может преобразовывать только перед точкой (целые числа). Но этот код будет также преобразовывать плавающие числа. (100) *
Чтобы проверить это, когда я запускаю этот код на возвращаемом Firefox,
Эта страница замедлила работу вашего браузера .
& Google Chrome не вернул ничего, кроме просто загрузки.
Итак, я хочу знать, в чем проблема ?? Вот мой код
var x = "101.11";
var r = 0;
var ra = 0;
for (var i = 0; i < x.length; ++i) {
if (x.charAt(i) == ".") {
var Ap = i;
}
}
for (var j = 0; j < (x.length - Ap); ++j) {
var a = x.charAt(j);
r = r + a * Math.pow(2, ((x.length - Ap - 1) - j));
}
for (var k = Ap + 1;
(x.length - Ap) < k; ++k) {
var b = x.charAt(k);
ra = ra + b * Math.pow(2, (Ap - k));
}
document.write(r);
if (ra <= 0) {
document.write("." + ra);
}