第3講 数字を入れる箱を活用しよう
第6話 小数を入れる小さい方の箱(単精度浮動小数点型)

第3話から、最も小さい箱であるByte型で話を進めてきましたが、
割り算のことを考えて、小数を入れる小さい箱を活用してみましょう。
わざわざ小さい箱と入れているのは、小数を入れる箱は2つあるからです。
単精度浮動小数点型=Single型と倍精度浮動小数点型=Double型です。
浮動がついている理由は、小数点が必要に応じて動く=浮動するからです。
実例は後で見ます。
扱う小数の範囲は、
小さい方の箱が、
-3.402823E38 〜 -1.401298E-45(負の値)または1.401298E-45 〜 3.402823E38(正の値)で、
大きい方の箱が、
-1.79769313486232E308 〜 -4.94065645841247E-324(負の値)
または4.94065645841247E-324 〜 1.79769313486232E308(正の値)
です。
それぞれ必要な記憶容量は、小さい方が4バイト、大きい方が8バイトです。
小数を入れる箱は、小さい箱でもByte型=最も小さい箱の4倍の記憶容量が必要です。
したがいまして、Byte型から単精度浮動小数点型に変更すると、
計算速度が遅くなります。
引っ越しのときに、一つ一つの荷物が大きければ運ぶのに時間がかかるのと同じです。
学習が進んでいけば、魔方陣の作成や数独作成などで膨大な量の計算をさせることになりますが、
現時点では計算量は少なく、単精度浮動小数点型に変更しても0.0001秒もかからないでしょう。
ですから、前話までのプログラムの文章のByte型をSingle型に変更してみましょう。
Private Sub CommandButton1_Click()
  Dim a As Single, b As Single
  a = 12
  b = 15
  Cells(6, 1) = "a="
  Cells(6, 2) = a
  Cells(7, 1) = "b="
  Cells(7, 2) = b
  Cells(8, 1) = "a+b="
  Cells(8, 2) = a + b
  Cells(9, 1) = "a-b="
  Cells(9, 2) = a - b
  Cells(10, 1) = "a×b="
  Cells(10, 2) = a * b
  Cells(11, 1) = "a÷b="
  Cells(11, 2) = a / b
End Sub
実行結果

引き算において、型変身をしないでもすみます。
単精度浮動小数点型は、整数型=Integer型もカバーしているからです。
整数を入れる箱は、必要記憶容量が2バイトですから、
小数を入れる小さい方の箱の大きさは整数を入れる箱の2倍の大きさです。
大は小を兼ねるので、小数を入れる箱は大小にかかわらず整数も入れられるのです。


小数を入れる小さい方の箱を活用して、
次のような様々な計算を加えてください。

もちろん、小数を入れる小さい方の箱は3つ用意しなければなりませんね。


第5話へ 第7話へ

トップ

vc++講義へ

初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義へ
VB講義基礎へ
初心者のためのJava 入門 基礎から応用まで
数学研究室に戻る