SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【php】36進数する

問題

唐突ですが、phpで36進数するには?

36進法で連番を振ったりするには?

36

答え

base_convert()関数で、基数変換できる。

10進数から36進数へ

echo base_convert(1, 10, 36); // 1
echo base_convert(10, 10, 36); // a
echo base_convert(16, 10, 36); // g
echo base_convert(24, 10, 36); // o
echo base_convert(35, 10, 36); // z
echo base_convert(36, 10, 36); // 10
echo base_convert(37, 10, 36); // 11
echo base_convert(100, 10, 36); // 2s
echo base_convert(180, 10, 36); // 50
echo base_convert(1800, 10, 36); // 1e0

36進数から10進数へ

echo base_convert('1', 36, 10); // 1
echo base_convert('a', 36, 10); // 10
echo base_convert('g', 36, 10); // 16
echo base_convert('o', 36, 10); // 24
echo base_convert('z', 36, 10); // 35
echo base_convert('10', 36, 10); // 36
echo base_convert('11', 36, 10); // 37
echo base_convert('2s', 36, 10); // 100
echo base_convert('50', 36, 10); // 180
echo base_convert('1e0', 36, 10); // 1800

36進数って?

2進数だと0,1の2種類の文字を使って数を表現する。

10進数だと0,1,2,3,4,5,6,7,8,9の10種類の文字を使って数を表現する。

16進数だと0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,fの16種類の文字を使って数を表現する。

36進数だと0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,zの36種類(数字10文字+アルファベット26文字)の文字を使って数を表現する。

JavaScriptだと

「10進数.toString(36)」、「parseInt(’36進数’, 36)」などで。

関連するメモ

コメント