1. 程式人生 > >關於進位制轉換問題,10進位制轉換為26進位制;

關於進位制轉換問題,10進位制轉換為26進位制;

目前有一個數n,想用A-Z組合表示出來,即

1=A,2=B,3=C,26=Z,27=AA,28=AB,等等。

首先考慮二進位制,二進位制由0和1組成,10進位制轉換為二進位制時候,用除以2取餘的方法,

仿照這種方法,我們取一個數1000,來計算它用字母表示的方法:

此處,先計算得一個餘數陣列[2,25,24],然後,從字母表中取出相應位置的字母。

所以,可以得到如下程式碼:

function foo(n){
	var arr_1=[],
		arr_2=[],
		num="";
	for(var i=65;i<91;i++){
		arr_1.push(String.fromCharCode(i));
	}
		
	while(parseInt(n/26)>0){
		arr_2.unshift(n%26);
		n=parseInt(n/26);
	}
	arr_2.unshift(n%26);
	return arr_2;
}
document.write(foo(2026))