Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изменить код из десятичной в восьмеричную (https://javascript.ru/forum/misc/23733-izmenit-kod-iz-desyatichnojj-v-vosmerichnuyu.html)

Любознательный 03.12.2011 23:00

Изменить код из десятичной в восьмеричную
 
Тут дан перевод из десятичной в двоичную помогите написать код что бы было из десятичной в восьмеричную

<HTML>
<HEAD>
<TITLE>Это простейший документ HTML</TITLE>
<SCRIPT laungauge="JavaScript">
<!--
n=prompt("Веди целое число","")
document.write (n+"<sub>10</sub>"+"=")
do {
document.write (n%2)
n=(n-n%2)/2

}
while (n>=2)
document.write (n+"<sub>2</sub>")
//-->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT laungauge="JavaScript">
<!--

Pavel M. 03.12.2011 23:22

почитайте http://javascript.ru/parseInt

Любознательный 03.12.2011 23:43

блин можете просто помочь?

рони 04.12.2011 04:23

Pavel M.,
интересно чем тут поможет parseInt?
Любознательный,
слабо двоечки на 8 заменить да головой подумать?
<script type="text/javascript">
var n = 16;
var r = 8;
var s = [];
document.write (n+"<sub>10</sub>"+"=")
do {
s.unshift(n%r)
n=(n-n%r)/r
}
while (n>=r)
document.write (n+s.join('')+"<sub>"+r+"</sub>")
</script>

FINoM 04.12.2011 04:35

alert((123).toString(8))

Pavel M. 04.12.2011 11:11

Цитата:

Сообщение от рони
интересно чем тут поможет parseInt?

прошу прощения, торопился, имел в виду из восьмеричной в десятичную
alert(parseInt(173, 8));

trikadin 04.12.2011 11:14

Pavel M., блин, вот где ты три дня назад был...

Любознательный 04.12.2011 13:31

Все всем спасибо))

Erast 12.02.2012 19:11

СПС Павел М.
 
Очень помогло

demoniqus 14.02.2012 09:41

вот из любой системы счисления в любую другую, даже вымышленную
num - само число
fromNum - в виде строки передаешь набор символов исходной системы счисления (к примеру для десятичной это будет "0123456789", для двоичной "01", для восьмеричной "01234567", а вымышленная может быть хоть "м84;354,9е75478" - из этих же символов и должно состоять тогда твое число)
toNum - набор символов конечного результата
Единственное, что надо позаботиться в этой функции о спецсимволах, а то мне было влом...
Если набор символов fromNum не совпадает с исходным числом, вернет пустышку.
function NumConvert (num, fromNum, toNum) {
NUM = num.split("");
i = 0;
while (NUM[i]) {
	regexp = new RegExp (NUM[i]);
	if (!regexp.exec(fromNum)) {
		rslt = "";
		return rslt;
		}
	i++;
	}
fromNum = fromNum.split("");
fN = fromNum.length;
toNum = toNum.split("");
tN = toNum.length;
arr = new Object();
i = 0;
while (fromNum[i]) {
	arr[(fromNum[i])] = i;
	i++;
	}
newNum = 0;
i = NUM.length - 1;
while (i >= 0) {
	newNum += arr[String(NUM[i])] * Math.pow(fN, NUM.length - i - 1);
	i--;
	}
i = 1;
while (Math.pow(tN, i) <= newNum) {
	i++;
	}
rslt = '';
while (i > 0) {
	symb = (String(newNum / Math.pow(tN, i - 1))).match(/^\d+/);
	rslt += String(toNum[symb]);
	newNum -= Number(symb) * Math.pow(tN, (i - 1));
	i--;
	}
return rslt;
}


Часовой пояс GMT +3, время: 01:03.