論理値0と1のみを格納する型boolについて考察してみよう
ソーラー「先ほどは
trueやfalseが
true=1
false=0
の値をもっていることがわかったね。
#include <iostream>
using namespace std;
int main() {
cout << true<<"\n";
cout << false<<"\n";
int a;
a = true;
cout << a << "\n";
return 0;
}
ビルド実行結果
1
0
1
マックス「int型の変数aに
trueやfalseが代入できるとは思わなかったな」
ソーラー「まあ
trueやfalseが
true=1
false=0
の値をもっているのであれば
int型の変数aに格納できるのも普通のことなのかな。
ところで今日は新しいデータを格納する型boolに
登場してもらいましょう。」
マックス「bool型?
聞いたことのないデータを格納する型だな」
ソーラー「
では
てんCさん お願いします。」
てんC「データを格納する型boolですね。
データを格納する型boolをもちいて
bool型の変数を作製することができます。
bool型の変数aは
bool a;
と
aのbool型の変数宣言をおこなうことにより
作製することができます。
このbool型の変数宣言によって作製された変数aには
面白い特徴があります。
次のプログラムでは
bool型の変数aに
1
0
10000
-1
1.0234
'c'(文字データc)
を代入してみます。
#include <iostream>
using namespace std;
int main() {
bool a;
a = 1;
cout << a << "\n";
a = 0;
cout << a << "\n";
a = 10000;
cout << a << "\n";
a = -1;
cout << a << "\n";
a = 1.0234;
cout << a << "\n";
a = 'c';
cout << a << "\n";
return 0;
}
ビルド実行結果
1
0
1
1
1
1
エディタ画面には
警告 C4305 '=': 'int' から 'bool' へ切り詰めます。
警告 C4305 '=': 'int' から 'bool' へ切り詰めます。
警告 C4305 '=': 'double' から 'bool' へ切り詰めます。
警告 C4305 '=': 'char' から 'bool' へ切り詰めます。
と表示されています。
このコンパイル結果を見ても分かるように
bool型の変数aに0を代入すると
0が
bool型の変数aに0以外の整数値、実数値、文字データなどを
代入すると
1が
bool型の変数aに格納されます。」
マックス「bool型の変数は0と1のみを格納するのか」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます