10 進数変換方法 -...
TRANSCRIPT
-
麗澤
大学
経済
学部
情報
科学
Web
提供
版
情報科学 総合課題集 V2013-1
20/26
総合課題 19 n 進数変換
コンピュータ内部では情報を2進数の形で表現しています。そのため10進数を2進数に変換する必要があります。2進数では人間が記録したり伝達したりする際に不便なので8進数や16進数という数も使われます。ここでは10進数をN進数(2進数や3進数といった数)に変換する方法を学習します。この変換を基数変換といいます。就職活動に必須のSPI試験では「N進数問題」として扱われます。よく出題される分野ですからきっちり学習しておきましょう。
(1) N進数で表現された数を10進数に変換する
N進数のm桁目の桁の重みは N(m-1) で表わされます。たとえば10進数2桁目の重みは10^(2-1)つまり10の1剰で10となります。3桁目は10の2剰で100となるわけです。例として 4進数の321を考えてみます。これは
3×42+2×41+1×40 を計算すればよいこととなります。ある数の0剰は常に1です。ですから、
3×8+2×4+1=33 となり、10進数33と求めることができます。
(2) 10進数をN進数に変換する
10進数をN進数に変換する場合には基数となるNで10進数を割っていくことで求めることができます。手続きは、①その基数
で割りながら余りを記録②商が基数で表現できる数になるまで
続ける③商から逆順に余りを並べる(つまり左側:上位桁から並
べる)、となります。右の図は10進数47を3進に変換する計算を示しています。1202と答えを求めることができます。
桁が限られている場合には上位桁の余りをその桁の重みで
割った余りがその桁の数値となります。最上位桁は元の10進数を基数で割ったときの商となります。これは金種計算と同じ手
続きです。
問題 10進数を2進数に変換する
右の作成例のようにキー入力したセルの10進数を2進数に変換するためのワークシートを作成する。2進数以外にも応用できるように基数を入力(水色のセル)するようにして、他の値を入れれば
他の進数計算ができるようにする。
手順
① 最大7桁まで計算できるように7から0までの桁数を入れる(m-1の値)。
② 桁の重みを計算で求める(水色のセルの桁
の値剰となる)。
③ ピンクのセルに変換する10進数を入力する。④ 7桁目の位置に10進数を桁の重みで割っ
たときの商を求める。
⑤ 6桁目の位置に上位桁で割った時の余りをその桁の重みで割って商を求める。
⑥ ⑤で求めた式を右方向にコピーする。コピ
ーするためには④⑤で式を作成する際に
参照元となる番地に工夫が必要となる(金
この課題のねらい
・N 進数を理解できるようにする・文字列変換と文字列関数を使うことができる
・セル番地の確実な指定ができる
10進数→N進数変換方法例 10進の47を3進数に変換47÷3=15 あまり 215÷3=5 あまり 05 ÷3 =1 あまり 2
1202
商から逆順に 左から並べる
この課題にはファイルはありません
-
麗澤
大学
経済
学部
情報
科学
Web
提供
版
情報科学 総合課題集 V2013-1
21/26
種計算を思い出そう・・・)。
⑦ 変換後の2進数の部分に式を入れる。例えばA1に1がA2に2が入っているとき、=A1&A2 とすると12という文字列を作成してくれる。ここではE列からL列までのセルを&でつないだ式が入ることになる。
上級課題 10進数をN進数に N進数を10進数に 相互に変換するワークシートの作成
下の作成例のようにN進数(2進数から9進数)をキーボードから入力して指定するようにします。基本問題と同様に10進数からN進数へ変換します。さらに入力される値をN進数として10進数に変換するワークシートを作成します。各セルに入る式は画面例を参照して自分のワークシートに合わせてください。
提出する印刷物は4進数または8進数とします。提出するファイルは他の進数でも動作しなければ評価されません。
課題は用紙横置きで印刷したものを提出します。上級課題をやった場合には別の用紙に印刷してください。
いずれの場合も評価は実際に動作させて行います。事前に十分テストしておきましょう。
関連するヒント
文字列の結合
セルの数値を文字として他の文字と結合する場合には 文字結合演算子 & を使います。例えばA1に5, B1に10 という数値が入っている場合 =A1&B1 で 510 という文字列を得ることができます。
よく使う文字列関数
RIGHT(文字列,文字数) 文字列の末尾 (右端) から指定された文字数の文字を返します。LEFT(文字列,文字数) 文字列の先頭 (左端) から指定された文字数の文字を返します。MID(文字列,位置,文字数) 文字列の左端からみて任意の位置から指定された文字数の文字を返します。LEN(文字列) 文字列の文字数を返します。VALUE(文字列) 文字列を数値に変換します。
拡張問題で式 =RIGHT("00000000"&C33,8) の意味はC33の数値の前に0を付加するということです。これは値をN進数として桁の重みを計算するため桁ごとに分けるための準備です。セルに値が入っていない場合には0が8個となります。
また、式 =VALUE(MID($D33,8-E$21,1)) の意味は$D33の文字列の左から桁数番目の文字を1文字取り出して数値に変換しています。これにより桁の値が1つの数値として求められることになります。
東京駅に入線する「はやて号」
2008/5/2 撮影