Bits and Bytes
And why we have to care in VB!
All computer storage is organized into bytes
• Think of each byte as a little storage bin• Each byte is made up of 8 bits• Each bit is an electronic circuit that is either on
or off (off = 0, on = 1)• A specific sequence of 0’s and 1’s in a byte is
called a bit pattern
What kinds of information do you store on your computer?
• numerical values (binary number system)• text/character data (ASCII or Unicode)• program instructions (machine language)• images (jpg, gif, tiff, bmp, wmf, etc.)• video (mp4, mov, avi, wmv, etc.)• music (mp3, wav, wma, au, etc.)
Numerical Values vs Strings (text/characters)
40 Oak St
$40
“40 Oak St” is a string
001101000011000000100000010011110110000101101011001000000101001101110100
It would be stored like this using ASCII codes
The 40 in $40 needs to be a numerical value for arithmetic
The numerical value 40 would be stored like this using the binary number system.
00101000
Compare: “40” vs 40
0011010000110000
The text string“40”
The numerical value40
00101000
How do binary numbers work?Decimal Number System Binary Number System
Base 10 Base 2
10 digits (0,1,2,3,4,5,6,7,8,9) 2 digits (0,1)
Positional values based on powers of 10 Positional values based on powers of 2
Positional Values
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Binary Number
8-bit binary number
Converting from Binary to Decimal
Positional Values
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Binary Number 0 1 1 0 1 0 1 0
What is the decimal value of the bit pattern 01101010 ?
Simple! Just add up the positional values where the 1’s appear: 64 + 32 + 8 + 2 = 106
So, we say that 011010102 = 106 decimal
Converting from Decimal to Binary
Positional Values
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Binary Number
How can we represent the decimal value 151 in binary?
Simple! Just think about money and consider positional values as coins and 151 “cents” as the change we must make.
Then “count change” from largest “denomination” to smallest until total value of change is accumulated.
Converting from Decimal to Binary
Positional Values
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Binary Number 1
How can we represent the decimal value 151 in binary?
Running Total: 128
Converting from Decimal to Binary
Positional Values
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Binary Number 1 0
How can we represent the decimal value 151 in binary?
Running Total: 128
Converting from Decimal to Binary
Positional Values
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Binary Number 1 0 0
How can we represent the decimal value 151 in binary?
Running Total: 128
Converting from Decimal to Binary
Positional Values
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Binary Number 1 0 0 1
How can we represent the decimal value 151 in binary?
Running Total: 128 + 16 = 144
Converting from Decimal to Binary
Positional Values
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Binary Number 1 0 0 1 0
How can we represent the decimal value 151 in binary?
Running Total: 128 + 16 = 144
Converting from Decimal to Binary
Positional Values
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Binary Number 1 0 0 1 0 1
How can we represent the decimal value 151 in binary?
Running Total: 128 + 16 + 4 = 148
Converting from Decimal to Binary
Positional Values
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Binary Number 1 0 0 1 0 1 1
How can we represent the decimal value 151 in binary?
Running Total: 128 + 16 + 4 + 2 = 150
Converting from Decimal to Binary
Positional Values
128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
Binary Number 1 0 0 1 0 1 1 1
How can we represent the decimal value 151 in binary?
Running Total: 128 + 16 + 4 + 2 + 1 = 151
So, 151 decimal = 100101112
Compare: “40” vs 40
0011010000110000
The text string“40”
The numerical value40
00101000
Consider GPA Program
Input?
Output?
Consider GPA Program
Input
Output
Bottom Line
All input values provided via text boxes on VB forms are stored as text
All output values provided placed in labels on VB forms are stored as text
To use values in computations for processing in VB, the values must be numeric
HOWEVER
Beginning of GPA ProgramOn Screen Behind the Scenes
in Memory (RAM)
credithrsTxt
qualptsTxt
gpaLbl
credithrs
qualpts
gpa
Note: credithrs, qualpts, and gpaare called variables
Input Phase GPA ProgramOn Screen Behind the Scenes
in Memory (RAM)
credithrsTxt
qualptsTxt
gpaLbl
credithrs
qualpts
gpa
Input Phase GPA ProgramOn Screen Behind the Scenes
in Memory (RAM)
credithrsTxt
qualptsTxt
gpaLbl
credithrs
qualpts
gpa
Input Phase GPA ProgramOn Screen Behind the Scenes
in Memory (RAM)
00101000
credithrsTxt
qualptsTxt
gpaLbl
credithrs
qualpts
gpa
Input Phase GPA ProgramOn Screen Behind the Scenes
in Memory (RAM)
00101000
credithrsTxt
qualptsTxt
gpaLbl
credithrs
qualpts
gpa
Input Phase GPA ProgramOn Screen Behind the Scenes
In memory (RAM)
0010100010100000
credithrsTxt
qualptsTxt
gpaLbl
credithrs
qualpts
gpa
Processing Phase GPA ProgramOn Screen Behind the Scenes
in Memory (RAM)
0010100010100000
credithrsTxt
qualptsTxt
gpaLbl
credithrs
qualpts
gpa
Processing Phase GPA ProgramOn Screen Behind the Scenes
in Memory (RAM)
001010001010000000000100
credithrsTxt
qualptsTxt
gpaLbl
credithrs
qualpts
gpa
Output Phase GPA ProgramOn Screen Behind the Scenes
in Memory (RAM)
001010001010000000000100
credithrsTxt
qualptsTxt
gpaLbl
credithrs
qualpts
gpa
Output Phase GPA ProgramOn Screen Behind the Scenes
in Memory (RAM)
001010001010000000000100
credithrsTxt
qualptsTxt
gpaLbl
credithrs
qualpts
gpa
Good News is …
• We don’t have to directly handle the nitty-gritty details of converting text to binary for input
• We don’t have to directly handle the nitty-gritty details details of converting binary to text for output
• Phew!
Not So Good News is …
• We do have to explicitly ask VB to do the conversions when necessary