1.0x143fを10進数に変換 16**3 16**2 16**1 16**0 4096 256 16 1 *1 *4 *3 *f =4096 =1024 =48 =15 4096+1024+48+15=5183 答え 5183 2.0b10011011を10進数に変換 2**7 2**6 2**5 2**4 2**3 2**2 2**1 2**0 128 64 32 16 8 4 2 1 *1 *0 *0 *1 *1 *0 *1 *1 =128 =0 =0 =16 =8 =0 =2 =1 128+0+0+16+8+0+2+1=155 答え 155 3.0x146 + 0x67の計算を行った結果を10進数で示す 0x146 16**2 16**1 16**0 256 16 1 *1 *4 *6 =256 =64 =6 256+64+6=326 0x67 16**1 16**0 16 1 *6 *7 =96 =7 96+7=103 0x146 + 0x67 = 326 + 103 = 429 答え 429 4.0x146 + 0x67の計算を行った結果を2進数で示す 1 4 6 +) 6 7 ______________ 1 10 13 1 a(10) d(13) 0001 1010 1101 答え 110101101 5.プログラム #!/usr/koeki/bin/ruby # -*- coding: utf-8 -*- name = [] x= 0 print"あなたの名前をローマ字で入力してください。\n" name = gets.chomp!.to_s while x < name.length printf("%s %x \n",name[x],name[x].ord) x += 1 end 6.プログラムの説明 ・配列のときと同じように[]を利用すると簡単に取り出せる ・初期値を0とした上で、whileの繰り返しの中でiの値を1ずつ変更していけば構 成する文字の文字コードを全て明らかにすることができる ・値を文字列に変換するために%s、16進数の文字コードを表示するために%xを使 う。 7.プログラムの実行結果 sime{YAHAGI Anna}% ./report7.rb [~/program] あなたの名前をローマ字で入力してください。 yahagianna y 79 a 61 h 68 a 61 g 67 i 69 a 61 n 6e n 6e a 61 8.感想 問1から問4まではスムーズに終わったが、プログラムを作るのが難しかった。 でも、難しかったプログラムは先輩に教えてもらいながらやって、?理解できた。 9.参考文献 http://roy/~naoya/ruby/9.html