第4講 数字型変数を理解しよう
第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話へ



トップ


初心者のためのc++ vc++ c言語 入門 基礎から応用までへ
初心者のための excel 2007 2010 2013 vba 入門 基礎から応用まで
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義トップへ
VB講義基礎へ
専門用語なしのC++入門へ
専門用語なしのJava入門へ
専門用語なしのVBA入門

数独のページ
魔方陣のページ
数学研究室に戻る
本サイトトップへ