You are on page 1of 7

DATA REPRESENTATION: USER DEFINED DATA TYPES AND MANTISA AND EXPONENT

USER DEFINED DATA TYPES:

PAERNTFORMATIONP.SI
USER DEFINED DATA TYPES ARE DATA TYPES DERIVED FROM ONE OR MORE EXSISTING DATA TYPES ,
THEY ARE USED TO EXTEND THE BUILT-IN DATA TYPES PAST
THEY ALLOW TO CREATE DATA TYPES SPECIFIC TO APPLICATIONS

WHY USER DEFINED DATA TYPES ARE NECESSARY:

… WHEN NO SUITABLE DATA TYPE IS PROVIDED BY THE LANGUAGE USED


... THE PROGRAMER NEEDS TO SPECIFY A NEW DATA TYPE
... THAT MEETS THE REQUIREMENTS OF THE APPLICATION
PAPER
NON COMPOSITE USER-DEFINED DATA TYPES
NTfORMAT0N_I
... IS A SINGLE DATA TYPE THAT DOES NOT INVOLVE A REFERENCE TO ANOTHER TYPE (USUALLY BUILT INTO A PROGRAMMING LANGUAGE)
... EXAMPLES
*** INTEGER : STORES A WHOLE NUMBER
*** BOOLEAN : STORES TRUE OR FALSE
*** REAL : STORES DECIMAL NUMBERS
*** STRING : STORES ZERO OR MORE CHARACTERS
*** CHAR : STORES A SINGLE CHARACTER
*** POINTER : WHOLE NUMBER USED TO REFERENCE A MEMORY LOCATION

i±÷¥
I

ENUMERATED DATA TYPES: POINTER DATA TYPE:


... DEFINES A LIST OF POSSIBLE DATA VALUES ... WHOLE NUMBER USED TO REFERENCE A MEMORY LOCATION
... THE VALUES ARE ORDINAL, NOT STRINGS ... THE POINTER DEFINATION HAS TO RELATE TO THE DATA TYPE OF THE
... THE USER DEFINED DATA ARE TYPES EXPLICITLY DEFINED VARIABLE
BEFORE THE IDENTIFIER ... THIS MAYBE USED TO CREATE DYNAMICALLY VARYING DATABASES
EXAMPLE EXAMPLE

TYPE TYPE
TDirections=(North,East,South,West) TMyPointer= ^<Data type being pointed to>
TDays=(Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday)
DECLARE MyPointer: TMyPointer
DECLARE Direction1: TDirections
DECLARE StartDay: TDays #A SPECIAL USE OF THE POINTER VARIABLE IS TO ACCESS THE VALUE
DIRECTION1 <— North STORED AT THE ADDRESS BEING
StartDay <— Wednesday POINTED TO, THE POINTER VARIABLE IS SAID TO BE “DEREFERENCED”.#

SINCE ENUMERATED VALUES ARE NOT STRINGS BUT ORDINAL, THEY ValuePointedTo <— MyPointer^
CAN BE COMPARED

DECLARE Weekend : Boolean


DECLARE DAY : TDays
Weekend = TRUE IF Day > Friday

COMPOSITE USER-DEFINED DATA TYPES


... DATA TYPE CONSTRUCTED FROM OTHER DATA TYPES
... EXAMPLES
*** RECORD : COLLECTION OF RELATED ITEMS WHICH MAY HAVE DIFFERENT DATA TYPES
*** ARRAY : INDEXED COLLECTION OF ITEMS WITH THE SAME DATA TYPE
*** LIST : INDEXED COLLECTION OF ITEMS THAT CAN HAVE DIFFERENT DATA TYPES
*** SET : STORES A FINITE NUMBER OF DIFFERENT VALUES THAT HAVE NO ORDER // AND SUPPORT MATHEMATICAL OPERATIONS
*** CLASS : GIVES THE PROPERTIES AND METHODS FOR AN OBJECT
*** OTHER EXAMPLES INCLUDE STACK, QUEUE , LINKED LIST, DICTIONARY ( WILL BE COVERED LATER )

.,,.¥,,,,,,,,*,, ①
RECORD DATA TYPE: SET DATA TYPE:
... COLLECTION OF RELATED ITEMS WHICH MAY HAVE DIFFERENT DATA TYPES ... STORES A FINITE NUMBER OF DIFFERENT
VALUES THAT HAVE NO ORDER
... A PARTICULAR USE OF A RECORD IS FOR THE IMPLEMENTATION OF A DATA STRUCTURE
WHERE ONE OR POSSIBLY TWO OF THE VARIABLES DEFINED ARE POINTER VARIABLES. ... THEY SUPPORT MATHEMATICAL OPERATIONS
EXAMPLE THE FOLLOWING ARE OPERATIONS:

TYPE BOOK • UNION


DECLARE ISBN : INTEGER • DIFFERENCE
DECLARE Author : STRING • INTERSECTION
DECLARE Title : STRING • INCLUDE AN ELEMENT IN THE SET
DECLARE Supplier : (Amazone, Stones, Smiths, Blackwalls, Greens, Coals, Boarders) • EXCLUDE AN ELEMENT FROM THE SET
DECLARE GenreNo : ARRAY[1....12] OF REAL • CHECK WEATHER AN ELEMENT IS IN A SET
ENDTYPE

ACCESSING INDIVIDUAL VALUES REQUIRE THE DOT NOTATION

Book.Author <— “Gerald”


FILE ORGANISATION
... TO STORE DATA THERE ARE ONLY TWO DEFINED FILE TYPES :
*** TEXT FILE : CONTAINS DATA STORED ACCORDING TO A DEFINED CHARACTER CODE
*** BINARY FILE : A FILE DESIGNED FOR STORING DATA TO BE USED BY A COMPUTER PROGRAM
... A FILE IS FIRST ORGANISED AND THEN ACCESSED ACCORDING TO ITS FILE ORGANISATION
*** FILE ACCESS : THE METHOD USED TO PHYSICALLY FIND A RECORD IN THE FILE

SERIAL FILE ORGANISATION SEQUENTIAL FILE ORGANISATION RANDOM FILE ORGANISATION


... A METHOD OF FILE ORGANISATION IN ... A METHOD OF FILE ORGANISATION ... A METHOD OF FILE ORGANISATION
WHICH RECORDS OF DATA ARE IN WHICH RECORDS OF DATA ARE IN WHICH RECORDS OF DATA ARE
PHYSICALLY STORED IN A FILE, ONE PHYSICALLY STORED IN A FILE, ONE PHYSICALLY STORED IN A FILE, IN
AFTER ANOTHER ,IN THE ORDER THEY AFTER ANOTHER ,IN A GIVEN ORDER ANY AVAILABLE POSITION; THE
WERE ADDED TO THE FILE. (IN ORDER OF KEY FIELD) LOCATION OF ANY RECORD IN THE
FILE IS BY USING A HASHING
• STORED IN CHRONOLOGICAL ORDER ADVANTAGES ALGORITHM ON THE KEY FIELD OF A
• SIMPLE FILE DESIGN RECORD.
• USSUALY THE METHOD USED FOR • VERY EFFICIENT WHEN MOST OF THE
CREATING TRANSACTION FILES RECORDS MUST BE PROCESSED. ... HASHING ALGORITHM :
Eg: Payroll, Utility Bills. A MATHEMATICAL FORMULA USED TO
ADVANTAGES • VERY EFFICIENT IF THE DATA HAS A PERFORM A CALCULATION ON THE
• NO NEED TO RESORT DATA WHEN NATURAL ORDER KEY FIELD OF THE RECORD; THE
ADDING NEW RECORDS • CAN BE STORED IN INEXPENSIVE RESULT OF THE CALCULATION GIVES
•SMALL FILES WILL REQUIRE LESS DEVICES LIKE MAGNETIC TAPE. i THE ADDRESS WHERE THE RECORD
PROCESSING IN SERIAL ORGANISATION •SUITED TO BATCH PROCESSING SHOULD BE FOUND
• NEW RECORDS CAN EASILY BE
APPENDED DISADVANTAGES ADVANTAGES
•SUITED TO BATCH PROCESSING • ENTIRE FILE MUST BE PROCESSED IF • USED WHEN FAST ACCESS TO DATA IS
A SINGLE RECORD IS TO BE SEARCHED. REQUIRED
• TRANSACTIONS MUST BE SORTED • NO NEED TO SEARCH THROUGH
BEFORE PROCESSING- RECORDS
• OVERALL PROCESSING IS SLOW. •SUITED TO REAL TIME PROCESSING

t- -I
trap tear
FILE ACCESS METHOD USED : SEQUENTIAL FILE ACCESS FILE ACCESS METHOD USED : DIRECT ACCESS
A METHOD OF FILE ACCESS IN WHICH RECORDS A METHOD OF FILE ACCESS IN WHICH A RECORD CAN BE
ARE SEARCHED ONE AFTER THE ANOTHER FROM PHYSICALLY FOUND IN A FILE WITHOUT PHYSICALLY READING
THE PHYSICAL START OF THE FILE UNTIL THE OTHER RECORDS.
REQUIRED RECORD IS FOUND.

MORE ON HASHING ALGORITHMS


THE KEY FIELD IS HASHED TO GIVE THE HOME LOCATION,
IF HOME LOCATION IS FREE,INSERT RECORD,
ELSE USE OVERFLOW METHOD TO FIND FREE LOCATION TO STORE DATA.
IF NO FREE LOCATION IS FOUND THE FILE IS FULL AND THEREFORE CAN NOT BE STORED.

PAST PAPER ANSWER g


TO KNOW MORE :

MORE ON HASHING ALGORITHMS IN CHAPTER 21


MANTISSA & EXPONENT
... FLOATING POINT REPRESENTATION : USED TO SHOW REAL NUMBERS IN EXPONENTIAL FORM.
ra EXPONENT
E
-

±M × R EXAMPLE : 1987.381
t = O.1987381 * 10^4
¥
Base No 12=2

... NUMBERS IN COMPUTERS ARE STORED WITH BASE 2. ... INCREASING MANTISSA INCREASES ACCURACY/ PRECISION
WHEREAS NUMBERS IN SCIENTIFIC FORM ARE STORED WITH BASE 10.
THEREFORE, NUMBER = MANTISSA * 2 ^ EXPONENT ... INCREASING EXPONENT INCREASES THE RANGE
... THE MANTISSA AND EXPONENT ARE USUALY IN 2s COMPLIMENT
... THE ONLY ISSUE IS THE NUMBER OF BITS AVAILABLE FOR THE MANTISSA AND EXPONENT

*** CONVERTING POSITIVE NUMBERS TO MANTISSA & EXPONENT

/
EXAMPLE: CONVERT 8.75 EXAMPLE: CONVERT 8.63

8.75 8.63

I .
I .

8 0.75 8 0.63

b. BINARY
t BINARY
b.
BINARY
① O.63×2=1.26 > 1 SO 0.1

O.26×2=0.52 < 1 SO 0.10


'

.÷÷
to
÷ ¥
1 0 0 0 1 0 0 0 1 0 0 0
O.52×2=1.04 > 1 SO 0.101
. .

O.04×2=0.08 < 1 SO 0.1010


ADD SIGN BIT ADD SIGN BIT
0 IS POSITIVE 0 IS POSITIVE
1 IS NEGETIVE 1 IS NEGETIVE 0.1010
01000 0.11 01000 ,
Lisa 01000.11 aah Liao 01000.1010 aah

aol.tt SHIFT DOT 4 TO LEFT


( BECOMES THE
EXPONENT)
MANTISSA:
aol.to
SHIFT DOT 4 TO LEFT
( BECOMES THE
EXPONENT)
MANTISSA: 0.100011 EXP: 0100 0.10001010 EXP: 0100

WRITTEN IN 8 + 8 BIT AS : 01000110 01000000 WRITTEN IN 8 + 8 BIT AS : 010001010 01000000

*** CONVERTING NEGATIVE NUMBERS TO MANTISSA & EXPONENT

EXAMPLE: CONVERT -7.75 -7.75


#
7 0.75
b b
0111 0.11
b
1’s Compliment b 1’s Compliment
(flip bits)
1000 0.00
2’s Compliment
2’s Compliment b
f (Add 1)
1001 0.01
1- 1001.01 t
MSB IS NEGATIVE ,REST POSITIVE : -8 + 1 + 0.25
-8+1 = -7 = -7.75
SHIFT DOT 3 TO LEFT
t -
.

1.00101 0011

WRITTEN IN 8 + 8 BIT AS :
10010100 00000011
:D
NORMALISATION
• THE 2 LEFT MOST BITS (THE MOST SIGNIFICANT BIT AND THE ONE AFTER IT) MUST BE DIFFERENT.
I. E THEY CAN'T BE 00 OR 11

• THIS MEANS IF A NUMBER HAS TO BE NORMALISED AND ENDS WITH


00 THE EXPONENT HAS TO BE REDUCED TO ADJUST-
(SEE EXAMPLE 4)

• NORMALISATION ENSURES MORE BITS ARE ASSIGNED TO MANTISSA SO THAT ACCURACY IS


ENSURED

LARGEST/SMALLEST VALUES POSSIBLE (RANGE)

***the largest positive number that can be represented as normalised floating point.

MANTISSA EXPONENT

I 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1

IMP: ADDING ANY NUMBER TO THIS WILL NOT BE POSSIBLE TO


REPRESENT , THIS IS BECAUSE AN OVERFLOW ERROR WILL OCCUR.

***the smallest positive number that can be represented as normalised floating point.

MANTISSA EXPONENT

I 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0

***the largest negative number that can be represented as normalised floating point.

MANTISSA EXPONENT

1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1

EXAMPLE 1:
FIND THE DENARY VALUE OF THE FOLLOWING FLOATING-POINT NUMBER. THE MANTISSA & EXPONENT ARE IN
2'S COMPLIMENT IN 12+8 BIT REPRESENTATION.

MANTISSA EXPONENT

1 0 1 1 1 0 0 1 1 0 1 0 I 0 1 0 1

ANSWER :

EXPONENT (0101) = 5
- 010001100101 IS 1'S COMPLIMENT (OF MANTISSA IN BINARY SO MINUS SIGN IS NESSECARY)
- 010001100110 IS 2'S COMPLIMENT
- O. 10001100110 —> 010001.100110 (BINARY POINT SHIFTED BY 5]
this would give us - (16+1+ 1/2+ 1/16 + 1/32 )
= -17 19/32

EXAMPLE 2:
FIND THE DENARY VALUE OF THE FOLLOWING FLOATING-POINT NUMBER. THE MANTISSA & EXPONENT ARE IN
2'S COMPLIMENT IN 8+4 BIT REPRESENTATION.

MANTISSA EXPONENT

1 0 1 1 0 0 0 0 1 1 1 0

ANSWER :

EXPONENT (1110) = -8+4+2 = -2


- 01001111 IS 1'S COMPLIMENT (OF MANTISSA)
- 01010000 IS 2'S COMPLIMENT
- O. 1010000 —> 0.0010100 (BINARY POINT SHIFTED BY -2]
this would give us - (1/8+ 1/32 )
= - 5/32
EXAMPLE 3:
FIND THE DENARY VALUE OF THE FOLLOWING FLOATING-POINT NUMBER. THE MANTISSA & EXPONENT ARE IN
2'S COMPLIMENT IN 8+8 BIT REPRESENTATION.

MANTISSA EXPONENT

I
0 0 1 0 I
1 0 0 0 0 0 0 0 0 0 1 1

ANSWER :

EXPONENT (0011) = 3
O.0101000 —> 0010.1000 (BINARY POINT SHIFTED BY 3]

this would give us 2 + 1/2


= 2.5

EXAMPLE 4:
SHOW +3.5 IN NORMALISED MANTISSA & EXPONENT WITH 8 BITS FOR MANTISSA AND 4 BITS FOR EXPONENT.

3.5
I .

3 0.5

b. BINARY
b. BINARY

0011 0.1

J
b. SIGN BIT

00011
i- 00011.1

to
000.111
INSTEAD OF JUMPING THE DOT TO THE LAST BIT,
b. -

*
.
IN NORMALISED IT JUMPS TO LAST 0/1 THAT
WILL GIVEE LAST 2 BITS DIFFERENT
0.111

b.

L
SO IT ONLY JUMPS 2 BITS HERE

b.
0010

. 0.1110000 0010 m

EXAMPLE 5:

MANTISSA EXPONENT

1
0 0 1 1 -
¥11 1 0 0 0 1110
0 1 1 1

NORMALISED

tyng
REDUCING THE EXPONENT BY THE ONE WILL ALLOW YOU
TO TAKE OUT ONE 0 FROM THE LEFT

MANTISSA EXPONENT

1
0 1 1 1 -
¥11 0 0 0 0 1110
0 1 1 0

NOTES BY Jay Sha


Dery Rune
-

Int Var = 57
Int Pointer = @ IntVar
-
Temp2=57
Int Var =
88

(swaps values )

6715
8218
88
FALSE

88¥ 57 +6
22
Temp 2 ←

@
Int pointer
-

Temp I

IntPointer ←
Temp 2

You might also like