Language
日本語
English

Caution

JavaScript is disabled in your browser.
This site uses JavaScript for features such as search.
For the best experience, please enable JavaScript before browsing this site.

  1. Home
  2. SwiftBeginner - About Numbers

About Numbers - Japanese Only

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

続きまして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) // エラーです。

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

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

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

This article was written by Sakurama.

Author's beloved small mammal

桜舞 春人 Sakurama Haruto

A Tokyo-based programmer who has been creating various content since the ISDN era, with a bit of concern about his hair. A true long sleeper who generally feels unwell without at least 10 hours of sleep. His dream is to live a life where he can sleep as much as he wants. Loves games, sports, and music. Please share some hair with him.

If you find any errors or copyright issues, please .