- 1 名前:nobodyさん mailto:sage [2008/02/25(月) 19:25:51 ID:???]
- Perlのコーディングで困ってる人のスレです。
【投稿する際の注意】 質問するときは内容をよく吟味してから投稿してください。 「コマンドの意味がわかんない」とかはマニュアル見ましょう。 回答者さんは何でも屋じゃありません。 1: 自分はこういう事がしたい。 2: それでこんな風にやってみたが・・・ 3: こんなエラーが出て上手く行かなかった。 最低でも1と3が無いと誰も答えられないよ。 良い回答は良い質問から。一緒に勉強しましょう。 お勧めサイトは >2 以降 前スレ pc11.2ch.net/test/read.cgi/php/1189939783/ 過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
- 190 名前:nobodyさん mailto:sage [2008/03/21(金) 21:10:27 ID:???]
- >>189
my $Number10 = 1234; # 10進数 # 2進数 #my @digits = ('0','1'); # 16進数 #my @digits = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); # 8進数 #my @digits = ('0','1','2','3','4','5','6','7','8'); # 26進数 my @digits = ('A'..'Z'); print &to_base($Number10,\@digits); sub to_base { my $num = shift; my $digits = shift; my $dignum = @{$digits}; my $result = ''; while ($num > 0) { substr($result,0,0) = $$digits[ $num % $dignum ]; $num = int ($num / $dignum); } return length $result ? $result : $$digits[0]; }
- 191 名前:nobodyさん mailto:sage [2008/03/21(金) 21:33:13 ID:???]
- >>189
sub conv($){ my $alpha = 'A' ; $alpha ++ for 1 .. $_[0] ; return $alpha ; } printf "%d\t%s\n", $_, conv $_ for 0 .. 200 ;
- 192 名前:nobodyさん mailto:sage [2008/03/21(金) 21:53:29 ID:???]
- 191は取り消し
- 193 名前:nobodyさん mailto:sage [2008/03/21(金) 23:12:27 ID:???]
- my $alpha = q{A} ;
my %table2 = map { $_, $_ } 0..1 ; my %table8 = map { $_, $_ } 0..7 ; my %table16 = ( ( map {$_, $_ } 0..9 ), map{ $_, $alpha ++ } 10..15 ); $alpha = q{A} ; my %table26 = map{ $_, $alpha ++ } 0 .. 25 ; sub trans($$){ my %table = %{ shift @_ } ; my $num = shift ; my $int = keys %table ; my $res = q{} ; until( $num / $int <1){ $res = $table{ $num % $int } . $res ; $num = int ( $num / $int) ; } return $table{$num}. $res ; } for ( 0 .. 1000 ){ print $_ . qq{\t} . ( trans \%table26, $_ ) . qq{\t} . ( trans \%table2, $_ ) . qq{\t} . ( sprintf "%b", $_ ) . qq{\t} . ( trans \%table8, $_ ) . qq{\t} . ( sprintf "%o", $_ ) . qq{\t} . ( trans \%table16, $_ ) . qq{\t} . ( sprintf "%x", $_ ) . qq{\n} ; }
|

|