Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

  1. トップページ
  2. Swift入門編 - 数値について

数値について

みなさまどうも。いかがお過ごしでしょうか。

続きましてSwiftの『数値』についてもろもろやっていきましょう。『数値』は英語で『Number』になります。

前回の記事で文字列を表現するには『"』で囲ってあげる必要がある、というお話をしましたが数値の場合は簡単で『"』で囲う必要はなく、そのままバシッと数字を記述してあげるだけでOKです。

以下のような感じですね。

print(1)

するとこうなります。

1

簡単ですね。

負の値も定義することができます。その場合は数学と一緒で数字の前に『-』を添えてあげればOKです。

print(-1)

そしてSwift特有のちょっと変わった記法があり、Swiftでは数字の中に『_』(アンダーバー)を含めることができます。

よく大金を記述するときに「140,000円」みたいな感じで3桁ごとに『,』を入れたりしますよね。それと同じように『_』でお好きな位置に区切りを置くことができます。

実際に記述してみるとこんな感じですね。

print(111_999)

これを実行させるとこうなります。

111999

数字の中にいれた『_』が無かったことになるので、区切りとして使用することができます。使用する機会はあまりないかもしれませんがこちらも覚えておきましょう。

プログラミングの世界では10進数の他に2進数と16進数というものがよく使用されます。

10進数とは10になったら繰り上がる数の数え方という意味で、つまりみなさんが普段使っている数字だと思って頂いて問題ありません。

2進数とは0,1を用いて2で繰り上がる数の数え方で、16進数とは0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, Fを用いて16で繰り上がる数の数え方です。

Swiftで2進数を表記するには先頭に『0b』、16進数を表記するには『0x』を頭に添えてあげればOKです。こんな感じになりますね。

print(0xFF) // 16進数で255を定義してます。
print(0b11111111) // 2進数で255を定義してます。

ちなみに先程紹介した『_』も使えます。2進数は結構読みづらいので『_』で区切ってあげると調子良いかもしれません。

print(0xF_F) // 『_』も使えます。
print(0b1111_1111)

昔は2進数と16進数で処理を組むことが多かったのですが、最近はコンピューターの進化などの理由からあまり使用されなくなりました。

しかし状況によっては2進数や16進数じゃないと構築できない、といった場合がありますので一応覚えておくようにして下さい。

あと普通に『数値』を定義した場合は莫大な数値を定義することはできない、ということをちょいと確認しておきましょう。

他のプログラム言語でも言えるのですが、コンピューターのデータは内部的に全て0と1の集合であるバイナリというもので保存されています。

その1つ1つのデジタルデータの最大幅をコンピューターの設計上決める必要があり、その影響から最近のMacパソコンのSwiftで普通に『数値』を定義すると内部的に『Int64』という64bitの数値型が使用され、『-9223372036854775808』から『9223372036854775807』までの間の数値しか扱うことができません。

以下のような感じですね。

print(-9223372036854775808) // OKです。
print(-9223372036854775809) // エラーです。

print(9223372036854775807) // OKです。
print(9223372036854775808) // エラーです。

こちらもちょいと頭の片隅に置いておいて下さい。

というわけで『数値』については以上になります。続いての記事では簡単な『演算子』を使って四則演算とかしてみましょう。

ではではこの辺で失礼致します。

この記事は桜舞が執筆致しました。

著者が愛する小型哺乳類

桜舞 春人 Sakurama Haruto

ISDN時代から様々なコンテンツを制作しているちょっと髪の毛が心配な東京在住のプログラマー。生粋のロングスリーパーで、10時間以上睡眠を取らないと基本的に体調が悪い。好きなだけ寝れる生活を送るのが夢。ゲームとスポーツと音楽が大好き。誰か髪の毛を分けて下さい。

記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。