型について(int)3 [型について]
昨日、出力データの変換形式のやり方が
わかったので、ちょっとint型に戻って
8進数と16進数を表示できるか確認したいと思います。
型:int
変数:a,b,c,
出力データ変換形式は
・10進数:%d
・8進数:%o
・16進数:%x
でやってみたいと思います。
プログラムを組む前に、
10進数、8進数、16進数、2進数を確認しましょう!
①10進数
これは、いつも私たちが使用している数字ですね。
下位の位が9を超えると上位の位が0から1となり
カウントされていきます。
例えば10進数の「18」は
(10×1)+(1×8)=18となります。
②8進数
これはほとんどの人が聞きなれない言葉だと思います。
理系の人も8進数はほとんど使わないと思います。
これは下位の位が7を超えると上位の位が0から1
となりカウントされていきます。
10進数の「22」を8進数で表すと「26」となります。
8進数の「26」を10進数に変換すると
(8×2)+(1×6)=22となります。
③16進数
これは理系の人であれば勉強したことがあるかと思います。
下位の位が15を超えると上位の位が0から1となり
カウントされていきます。
10進数の「58」を16進数で表すと「3a」となります。
ん?まちがえ?
間違えではありません。
16進数では0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,fが数字なのです。
16進数のa~fは10進数で10~15を表します。
16進数の「3a」を10進数に変換すると
(16×3)+(1×a(10))=58となります。
④2進数
これは、コンピュータを使用する人であれば何となく
聞いたことがあるのではないでしょうか。
コンピュータは「0」と「1」で出来ている!!
そう、「0」と「1」で表すのは2進数です。
10進の「42」を2進数で表すと「101010」となります。
2進数の「101010」を10進数に変換すると
(32×1)+(16×0)+(8×1)+(4×0)+(2×1)+(1×0)=42となります。
2進数は出力データ変換形式はないみたいですが、
コンピュータと関係の強い表し方なので
8、10、16進数の説明と一緒にしました。
ちなみに
秒は60進数となります。
60秒は1分だからです。
分も60進数です。
60分は1時間だからです。
それでは時間は何進数でしょうか?
答えは24進数です。
24時間は1日だからです。
それでは日は何進数?
365進数!
365日は1年だから。
それでは月は何進数?
12進数!
12カ月は1年だから。
年は何進数?
10進数です。
ではプログラムを組んで確認してみましょう。
実行結果
問題なく、10進数、8進数、16進数が表示できました
わかったので、ちょっとint型に戻って
8進数と16進数を表示できるか確認したいと思います。
型:int
変数:a,b,c,
出力データ変換形式は
・10進数:%d
・8進数:%o
・16進数:%x
でやってみたいと思います。
プログラムを組む前に、
10進数、8進数、16進数、2進数を確認しましょう!
①10進数
これは、いつも私たちが使用している数字ですね。
下位の位が9を超えると上位の位が0から1となり
カウントされていきます。
例えば10進数の「18」は
(10×1)+(1×8)=18となります。
②8進数
これはほとんどの人が聞きなれない言葉だと思います。
理系の人も8進数はほとんど使わないと思います。
これは下位の位が7を超えると上位の位が0から1
となりカウントされていきます。
10進数の「22」を8進数で表すと「26」となります。
8進数の「26」を10進数に変換すると
(8×2)+(1×6)=22となります。
③16進数
これは理系の人であれば勉強したことがあるかと思います。
下位の位が15を超えると上位の位が0から1となり
カウントされていきます。
10進数の「58」を16進数で表すと「3a」となります。
ん?まちがえ?
間違えではありません。
16進数では0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,fが数字なのです。
16進数のa~fは10進数で10~15を表します。
16進数の「3a」を10進数に変換すると
(16×3)+(1×a(10))=58となります。
④2進数
これは、コンピュータを使用する人であれば何となく
聞いたことがあるのではないでしょうか。
コンピュータは「0」と「1」で出来ている!!
そう、「0」と「1」で表すのは2進数です。
10進の「42」を2進数で表すと「101010」となります。
2進数の「101010」を10進数に変換すると
(32×1)+(16×0)+(8×1)+(4×0)+(2×1)+(1×0)=42となります。
2進数は出力データ変換形式はないみたいですが、
コンピュータと関係の強い表し方なので
8、10、16進数の説明と一緒にしました。
ちなみに
秒は60進数となります。
60秒は1分だからです。
分も60進数です。
60分は1時間だからです。
それでは時間は何進数でしょうか?
答えは24進数です。
24時間は1日だからです。
それでは日は何進数?
365進数!
365日は1年だから。
それでは月は何進数?
12進数!
12カ月は1年だから。
年は何進数?
10進数です。
ではプログラムを組んで確認してみましょう。
実行結果
問題なく、10進数、8進数、16進数が表示できました
コメント 0