表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
5/7

いろんな型々の紹介

 今回は前回より短いコードですが頭に入れておいたほうがいい「型」について書きます。

--------

#include <stdio.h>


int main(int argc,char *argv[]){

printf("char=%ld:short=%ld:int=%ld:long=%ld:long long=%ld\n",

sizeof(char),sizeof(short),

sizeof(int),sizeof(long),sizeof(long long));

printf("float=%ld:double=%ld\n",sizeof(float),sizeof(double));

return 0;

}

--------

 たったこれだけのコードですが、実は環境によって表示が変わります。

 一般的なamd64という種類のCPUを使っている場合の実行はこうなります。

--------

char=1:short=2:int=4:long=8:long long=8

float=4:double=8

--------

 では一つずつの「型」について説明します。

 まず「char」これはcharacterの略で「文字」型です。

 日本語等のマルチバイト文字はこの型には入らないのに注意してください。

 アルファベット系の一文字が入れられる方でsizeofというルーチンで大きさを求めると「1」となっています、単位はバイトです。

 1バイトの範囲に0~255が入ります、符号ありの場合この前後半分になりますが簡単のため符号なしと考えます。

 もちろん漢字は256種類以上あるのでこの「文字」型には入りません、Java等では入るように2バイトに拡張されていたりするのですがCでは1バイトです。

 shortは2バイトで表示されました短整数型ですねintとlongとlong longも整数型の派生なのでまとめて紹介すると数が大きくなるほど入れられる数が増えていきます、単位はバイトです。

 実はCではこれらの方は実装依存であり実行結果の順に大きくなっていくことは保証されていますが、それが何バイトであるかは言語実装者に委ねられています。

 実際32ビットのX86というCPU環境ではlongが4バイトになったりします。

 整数型は簡単ですね、人間が扱いやすい数が入ります。

 floatとdoubleは浮動小数点型です。

 浮動小数点ということで少数以下の計算に使われます。


 一部言語ではrealという名前がついていてさも「実数」であるかのように紹介されることもありますが、

----

「コンピュータに実数は扱えません」

----

 大事なので強調しました。

 実数は無限に存在する数で、無限はコンピュータで扱うには無限のリソースが必要で宇宙全体を記憶媒体にして存在する星をすべて今のコンピュータの100000倍のプロセッサに置き換えても到底足りません。

 実数というのは「概念」であり存在はしますが扱うのは非常に難しい数なんですね。


 floatで4バイト、doubleで8バイトを使っていてそれなりに制度の高い少数を扱えます。

 これについて注意が必要なのは「丸め誤差」です。

 小数点以下で表しきれなかった数が切り捨てられてだんだんと誤差が増えていきます。

 誤差はあるものとして計算を行うように注意してくださいね。


 以上、簡単なCの型解説でした!


評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ