In this article floating point expression is used such as 7.9E28 that means 7.9 x 1028.

Basically, Microsoft Small Basic is one of .NET framework language.  So, internally Decimal number  might be used.  Most of limit may come from Decimal number.

Literal Numbers

This limitation is only for literal numbers but not for literal texts.  Following code shows this fact.

n = 1000000000000001
TextWindow.WriteLine(n) ' 1000000000000000
n = "1000000000000001"
TextWindow.WriteLine(n) ' 1000000000000001

Range

-1E15 = -1000000000000000 ≦ literal ≦ 1000000000000000 = 1E15

CSZ796

Arithmetic Operators

Small Basic has 4 arithmetic operators - "+" (add), "-" (subtract), "*" (multiple) and "/" (divide).

+

number1 + number2

Range

number1 + number2 ≦ 79228162514264337593543950335 = 7.9E28

JFW812

-

number1 - number2

N/A

*

number1 * number2

N/A

/

number1 / number2

Range

number1 ≧ 0.0000000000000000000000000001 (= 1E-28) while number2 = 10

GRS792

Math Functions

In Small Basic, Math object has 20 operations (functions).

Abs

Math.Abs(number) Range

-7.92281625142643E28 = -79228162514264300000000000000 ≦ number ≦ 79228162514264300000000000000 = 7.92281625142643E28
0 ≦ Math.Abs(number) ≦ 79228162514264300000000000000 = 7.92281625142643E28

GTZ663

ArcCos

Math.ArcCos(cosValue) Range

-1 ≦ cosValue ≦ 1
0 ≦ Math.ArcCos(cosValue) ≦ Math.Pi

ArcSin

Math.ArcSin(sinValue) Range

-1 ≦ sinValue ≦ 1
-Math.Pi / 2 ≦ Math.ArcSin(sinValue) ≦ Math.Pi / 2

ArcTan

Math.ArcTan(tanValue) Range

-Math.Pi / 2 ＜ Math.ArcTan(tanValue) ＜ Math.Pi / 2
N/A ≦ tanValue ≦ N/A

Ceiling

Math.Ceiling(number) N/A

Cos

Math.Cos(angle) Range

-1 ≦ Math.Cos(angle) ≦ 1

Floor

Math.Floor(number) N/A

GetDegrees

Math.GetDegrees(angle)

Range

-360 ＜ Math.GetDegrees(angle) ＜ 360

Range

-2 * Math.Pi ＜ Math.GetRadians(angle) ＜ 2 * Math.Pi

GetRandomNumber

Math.GetRandomNumber(maxNumber)

N/A

Log

Math.Log(number) 0 ＜ number ≦ N/A

Max

Math.Max(number1, number2)

Range

Number of significant digits is limited to the return value of Math.Max ​​function.

DVN723

Min

Math.Min(number1, number2)

N/A

NaturalLog

Math.NaturalLog(number) 0 ＜ number ≦ N/A

Power

Math.Power(baseNumber, exponent)

Range

baseNumber ≦ 31622776 while exponent = 2

exponent ≦ 49 while baseNumber = 2

Sample Program

FFW588 for Math.Power(31622776, 2)

Remainder

Range

Math.Remainder(9007199254740992, 2)
dividend ≦ 9007199254740992 = 9E15 while divisor = 2
-divisor ＜ Math.Remainder(dividend, divisor) ＜ divisor

Round

Math.Round(number) N/A

Sin

Math.Sin(angle) Range

-1 ≦ Math.Sin(angle) ≦ 1

SquareRoot

Math.SquareRoot(number) Range

0 ≦ number ≦ 19807040628566084398385987584 = 1.9E28

Tan

Math.Tan(angle) N/A

SFH478