しーげんごはじめてこー!そのに
はじめに
前回は、「Hello,world!」と表示するプログラムを書きました。
でもこれ、ただ表示させるだけじゃつまらないですよね。
やるならもっと、難しい計算とかさせたくないですか?
させたいですよね???圧が強い
そんなわけで、今回は様々な計算をさせるための準備をしたいと思います。
え?「なんで準備が必要なのか」って?
それは、人間みたいに融通の利く数値の扱い方ができないからです。ここは前に「n進法」で話しましたね。
なので、C言語などのプログラミング言語では、様々な工夫をして数値を扱っています。
なので今回は、その工夫の仕方についてみていきましょう。
それではさっそくれっつごー!(ノリが軽い←)
もくじ
すうちの「かた」
C言語では、数値を使う範囲に応じて「型」で分けています。
整数のみを扱う型が8種類(実質6種類ですが)、実数を扱う型が2種類あります。
せいすうがた!
整数を扱う型は、扱える値の大きさが小さいものから順にchar,short,int,longがあります。
え?これじゃ4種類だって?まぁまぁおちついてもちついて。
それぞれの型には、扱う値の「範囲」が2種類用意されています。
それぞれの型の前に「signed」「unsigned」を付けることで、扱う値の範囲を変えることができます。
何が違うかって扱う値の範囲が違うのですが、具体的には「負の値を扱うかどうか」が違います。
具体的な値は下の表のとおりです。
型 | 扱える値の範囲 |
---|---|
signed char | -128~127 |
unsigned char | 0~255 |
signed short | -32768~32767 |
unsigned short | 0~65535 |
signed int | -- |
unsigned int | -- |
signed long | -2167483648~2147483647 |
unsigned long | 0~4294967295 |
といった感じです。
また、signedは省略することができます。いちいち打つのめんどいので省略するのが無難でしょう。
はいここで皆さん疑問に思いましたよね?「intの扱える値の範囲書いてねぇぞ」と。
実はこのint、Integer(整数)の略で、いかにも整数の代表っぽいにも関わらずその扱える値の範囲はシステムに依存しているのです。
な ん で だ よ
しかもシステム依存といってもshortかlongのどちらかと同じ範囲になるので、正直使う意味…ってなります(そんなこと知らずに4年間int型を使っていた私は一体)
ま、まぁ最初のうちはそんな気にするようなタイミングはないのでint型でも問題はない、と思います…((((
しょうすうがた!
小数型には、floatとdoubleの2種類があります。
floatは単精度、doubleは倍精度、と呼ばれますが簡単に言えばdoubleの方が細かい値まで扱えるよーって話です。ざっくり。
でも、小数型を使う時は気を付けなければならないことがあります。
それは、小数は正確な値で表すことができないということです。
前回?前々回?あたりで説明した通り、コンピュータは2を基準に数値を扱います。
小数は2のマイナスなんとか乗で表現されるため、どうしても正確な値にすることができないのです。
そのため、小数を使う時は誤差(数値のずれ)が起きること前提で使うようにしましょう。
おわりに
今回はここまでにしようと思います!まだ数値関連はいっぱい書くことがありますが、それは次回に持ち越そうと思います。
次回は「演算子」について説明していきます。これをマスターすればどんな難しい計算問題も解けるかも…?
それではまた次回!
更新頻度上げなきゃな……