Operators & Identifiers

Post on 07-Jan-2016

56 views 1 download

description

Operators & Identifiers. The Data Elements. exponentiation multiplication division ( real ) division ( integer quotient ) division ( integer remainder ) addition Subtraction assignment. ^ * / \ Mod + - =. Arithmetic Operators. Evaluate these expressions. - PowerPoint PPT Presentation

Transcript of Operators & Identifiers

Operators & Identifiers

The Data Elements

Arithmetic Operators

• exponentiation• multiplication• division (real)• division (integer quotient)• division (integer remainder) • addition• Subtraction• assignment

^

*

/

\

Mod

+

-

=

Evaluate these expressions

= 100 / 10 / 5

= 100 / 10 \ 5

= 100 \ 10 / 5

= 100 + 10 Mod 5

= 100 + 10 \ 5

Evaluate these expressions

= 100 / 10 / 5 2

= 100 / 10 \ 5

= 100 \ 10 / 5

= 100 + 10 Mod 5

= 100 + 10 \ 5

Evaluate these expressions

= 100 / 10 / 5 2

= 100 / 10 \ 5 2

= 100 \ 10 / 5

= 100 + 10 Mod 5

= 100 + 10 \ 5

Evaluate these expressions

= 100 / 10 / 5 2

= 100 / 10 \ 5 2

= 100 \ 10 / 5 50

= 100 + 10 Mod 5

= 100 + 10 \ 5

Evaluate these expressions

= 100 / 10 / 5 2

= 100 / 10 \ 5 2

= 100 \ 10 / 5 50

= 100 + 10 Mod 5 100

= 100 + 10 \ 5

Evaluate these expressions

= 100 / 10 / 5 2

= 100 / 10 \ 5 2

= 100 \ 10 / 5 50

= 100 + 10 Mod 5 100

= 100 + 10 \ 5 102

Variables

• A variable is a string used to identify a memory location.

• The amount of memory is determined by the type of data that it will store.

• Typically, variable names need to be declared so the operating system can allocate sufficient space.

• Then values of the specified type can be assigned, i.e. stored in that location.

Variable Names in VB

• Must begin with a letter– Can include letters and numerals– Cannot include spaces

• Use names that are descriptive

• Capitalising convention– InterestRate, InitialCapital

Variables

• Local– Declared within a subprogram– Dim varName As dataType

• Global– Declared at the top of the code listing– Private varName As dataType

Data Types

Type Name Storage size Range of values

Boolean 2 byte True or False (1 or 0)

Byte 1 byte integers in the range 0 to 255

Char 2 bytes 0 to 65,535 representing the Unicode character set

Date 8 bytestime/date between 0:00:00 on 1/1/0001 to 23:59:59 on

12/31/9999

Double 8 bytesa real number; precision is about 14 digits to the right of the

decimal point

Integer 4 bytes integers in the range -2,147,483,648 to 2,147,483,647

Long 8 bytes very big!

Short 2 bytes integers in the range -32,768 to 32,767

Single 4 bytesa real number, i.e. a number with a decimal (fractional) part;

precision is limited to about 6 digits to the right of the decimal point.

String depends on

platformup to approximately 2 billion Unicode characters

The ASCII Character Set

Data Storage (Short type)

27 26 25 24 23 22 21 20

128 64 32 16 8 4 2 1

1 1 1 1 1 1 1 1

128 +64 +32 +16 +8 +4 + 2 + 1

=255

Data Storage (2nd byte)

215 214 213 212 211 210 29 28

32768 16384 8192 4096 2048 1024 512 256 1 1 1 1 1 1 1 132768+16384 +8192 +4096 +2048 +1024 +512 +256

=65280 +255 65535

The largest Unsigned value that can be stored in 16 bits.

How many patterns are there?

Integer Storage

• To store integers, half the combinations are used to represent negative values.

• The range for Integer type variables is:-32,768 to +32767

• The MSB is used to represent the sign.

• Which value of the sign bit (0 or 1) will represent a negative number?

2’s Complement Notation(examples in 8 bits to save space)

• The notation system that uses 1 to represent negative values.

• Fixed length notation system.• Zero is the first non-negative value:

00000000

• The pattern immediately before zero is -111111111

• The largest value is stored as 01111111• The smallest value is stored as 10000000

Arithmetic in 2’s Complement(remember it’s a fixed length system)

00 + 00 = 00

00 + 01 = 01

01 + 00 = 01

01 + 01 = 10

-1 in 2’s complement 11111111

+ 1 in 2’s complement + 00000001

0 discard the carry bit 1 00000000

Integer Storage (4 bytes)

• High order bit (MSB) is worth 231

• The number of different combinations= 232

=4,294,967,296

• Half are used for negative values, so the range is– 2,147,483,648 to + 2,147,483,647

Long Integers

• In 8 bytes there are 64 bits!

• High order bit (MSB) is worth 263.

• The number of different combinations

=264

=18,446,744,073,709,650,616

Fractions

• A radix separates the integer part from the fraction part of a number.

101.101• Columns to the right of the radix have

negative powers of 2.

Fractions

22 21 20 . 2-1 2-2 2-3

Fractions

22 21 20 . 2-1 2-2 2-3

4 2 1 . ½ ¼ ⅛

Fractions

22 21 20 . 2-1 2-2 2-3

4 2 1 . ½ ¼ ⅛

1 0 1 . 1 0 1

Fractions

22 21 20 . 2-1 2-2 2-3

4 2 1 . ½ ¼ ⅛

1 0 1 . 1 0 1

4 + 1 + ½ + ⅛

Fractions

22 21 20 . 2-1 2-2 2-3

4 2 1 . ½ ¼ ⅛

1 0 1 . 1 0 1

4 + 1 + ½ + ⅛

5⅝

Scientific Notation

Very large and very small numbers are often represented such that their order of magnitude can be compared.

The basic concept is an exponential notation using powers of 10.

a × 10b

Where b is an integer, and a is a real number such that:

1 ≤ |a| < 10

Scientific Notation

An electron's mass is about0.00000000000000000000000000000091093826 kg.

In scientific notation, this is written9.1093826×10−31 kg.

The Earth's mass is about5,973,600,000,000,000,000,000,000 kg.

In scientific notation, this is written5.9736×1024 kg.

E Notation

To allow values like this to be expressed on calculators and early terminals

× 10b

was replaced by Eb

So 9.1093826×10−31

becomes 9.1093826E−31And 5.9736×1024

becomes 5.9736E+24

E Notation

The ‘a’ part of the number is called the mantissa or significand.

The ‘Eb’ part is called the exponent.

Since these numbers could also be negative they would typically have a sign as well.

Floating Point Storage

In floating point notation the bit pattern is divided into 3 components:

Sign – 1 bit (0 for +, 1 for -)

Exponent – stored in Excess notation

Mantissa – must begin with 1

Excess Notation (examples are in 8 bits to save space)

• The notation system that uses 0 to represent negative values.

• Fixed length notation system.• Zero is the first non-negative value:

– 10000000

• The pattern immediately before zero is -1– 01111111

• The largest value is stored as 11111111• The smallest value is stored as 00000000

Mantissa

• Assumes a radix point immediately left of the first digit.

• The exponent will determine how far and in which direction to move the radix.

An example in 8 bits

If the following pattern stores a floating point value, what is it?

01101001

An example in 8 bits

If the following pattern stores a floating point value, what is it?

01101001Separate it into its components:

An example in 8 bits

If the following pattern stores a floating point value, what is it?

01101001Separate it into its components:

signexponentmantissa

An example in 8 bits

If the following pattern stores a floating point value, what is it?

0 110 1001Separate it into its components:

signexponentmantissa

An example in 8 bits

0 110 1001A sign bit of 0 means the number is…?

An example in 8 bits

0 110 1001A sign bit of 0 means the number is positive.

110 in Excess Notation converts to …?

An example in 8 bits

0 110 1001A sign bit of 0 means the number is positive.

110 in Excess Notation converts to +2.

Place the radix in the mantissa …

An example in 8 bits

0 110 1001A sign bit of 0 means the number is positive.

110 in Excess Notation converts to +2.

Place the radix in the mantissa .1001

Put it all together …

An example in 8 bits

0 110 1001A sign bit of 0 means the number is positive.110 in Excess Notation converts to +2.Place the radix in the mantissa .1001

Put it all together …

+ .1001 * 22

An example in 8 bits

+ .1001 * 22

Multiplying a binary number by 2 shifts the bits left (move the radix to the right) one position.

So the exponent tells us to shift the radix 2 positions right.

+ 10.01

= 2¼

Normal Form

• The first bit of the mantissa must be 1 to prevent multiple representations of the same value.

0 100 1000 0 .1000 .1000

0 101 0100 1 .0100 .1000

0 110 0010 2 .0010 .1000

0 111 0001 3 .0001 .1000

Data Type ConversionFunction Return Type Argument

CBool boolean any valid String or numeric expression

CCur currency a string or numeric expression within the range of currency values

CDbl double real number a string or numeric expression within the range of double real values

CInt integer a string or numeric expression within the range of integer values, fractions are rounded

CLng long integer a string or numeric expression within the range of long integer values, fractions are rounded

CSng single real number a string or numeric expression within the range of single real values

CStr string any valid value or expression

CDate date any value that can be interpreted as a date