アフィリエイト広告を利用しています

広告

posted by fanblog

2017年09月12日

《その25》 整数リテラル(p.141演習4-3),オブジェクトと sizeof演算子(p.141演習4-4)


新版明解C++入門編 p.141 演習4-3
  整数リテラル0が8進リテラルであることを論理的に説明せよ。

整数0 と 100 について、C++の操作子を使って基数表示付加を指示した上で、10進数,16進数,8進数での表示をさせてみました。

#include <iostream>
using namespace std;

int main()
{
int i = 0;
cout << "10進数(基数表記)… " << dec << showbase << i << '\n';
cout << "16進数(基数表記)… " << hex << showbase << i << '\n';
cout << " 8進数(基数表記)… " << oct << showbase << i << '\n';

cout << '\n';
i = 100;
cout << "10進数(基数表記)… " << dec << showbase << i << '\n';
cout << "16進数(基数表記)… " << hex << showbase << i << '\n';
cout << " 8進数(基数表記)… " << oct << showbase << i << '\n';
}

b04_03.png
0 の場合は、16進数,8進数とも、0 と表記されています。
なので、この結果からは、整数リテラル0 が何進リテラルであるかの説明はできないですね・・・。

では、0 と書かれていて、この整数リテラル0 は何進リテラルであるかと 質問された場合は・・・。
表記のルールから考えてみるしかないのかな・・・。

p.138 に
 ◇ 10進リテラルの先頭文字として許されるのは 1, 2, 3, 4, 5, 6, 7, 8, 9 のみであり 0 は含まれない。
 ◇ 16進リテラルは、先頭に 0x または 0X を付けて表記する。
 ◇ 8進リテラルは、10進リテラルと区別がつくように、先頭に 0 を付けて表記する。
とあります。

整数リテラル0 は、
 先頭文字が 0 なので 10進リテラルではない。
 先頭に 0x または 0X がないので 16進リテラルではない。
 先頭文字が 0 なので 8進数である。8進数を示す先頭文字 0 が、値0 の表示も兼ねているものと思われる。

ということで、いいのかな (^▽^;)




新版明解C++入門編 p.141 演習4-4
  文字リテラルと整数リテラルに対してsizeof演算子を適用した値を表示するプログラムを作成せよ。実行結果に対する考察を行うこと。

// p141_演習4-4
#include <iostream>
using namespace std;

int main()
{
cout << sizeof(char) << '\n';
cout << sizeof('a') << '\n';
cout << sizeof(int) << '\n';
cout << sizeof(128) << '\n';
}

b04_04.png

整数を表すのに必要な記憶域上の大きさは 4バイト、すなわち、文字を表すのに必要な記憶域上の大きさの4倍であることがわかる。

新版 明解C 入門編 (明解シリーズ)

新品価格
¥2,916から
(2017/8/30 21:02時点)









--
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/6692772
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


検索
<< 2018年08月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
プロフィール
こうすけさんの画像
こうすけ

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


×

この広告は30日以上新しい記事の更新がないブログに表示されております。