Comment detail
LL Golf Hole 6 - 10進数を2進数に基数変換する (Nested Flatten)This comment is reply for 7231 silverwire: 楽をするならこんなのはどうでしょう。 ...(LL Golf Hole 6 - 10進数を2進数に基数変換する). Go to thread root.
なるほど。
で、POSIX Shell規格でしたらexprを呼ばずにいけるので、ちょっとだけ改造してみました。
1 2 3 4 5 | d=$1
while [ $d -gt 0 ];do
echo -n $(($d%2))
d=$(($d/2))
done
|
間違い、桁が逆でした。
1 2 3 4 5 6 | d=$1
while [ $d != 0 ];do
t=$(($d%2))$t
d=$(($d/2))
done
echo $t
|



silverwire
#7233()
Rating0/0=0.00
どのシステムでも動くようにするなら、Bourne shellで愚直に。 e.g. $ dec2bin() { d=$1 t='' [ $# -eq 0 ] && return 1 while [ $d -gt 0 ]; do r=`expr $d % 2` d=`expr $d / 2` t="$r$t" done echo "${t:=0}" return 0 } && dec2bin 255 # AIX 4.3.3.0, HP-UX B.11.00, Linux 2.4.2, SunOS 5.5.1で動作を確認。