Binary Data Representation Videos
Prof. Harry H. Porter III, Ph.D.
Portland State University
Overview
These videos explain how numbers, characters and pointers are represented in the bits, bytes and words of computer memory. Topics include:
     
Binary numbers and the hexadecimal number system
     
Two's complement signed number representation
     
Single and double precision IEEE floating point number representation
     
Logical operations on bit strings (AND, OR, NOT, XOR, SHIFT)
     
ASCII, Unicode, UTF-8, and UTF-16 character encodings
Although we do not assume any Computer Science background, these videos move quickly and cover the topics in complete detail. Every Computer Science student should learn this material and every serious systems programmer will fully grasp this knowledge. In places, the "C" programming language and IA-32 assembly language are mentioned, but no prior knowledge is assumed.
Number of videos: 12
Total time: 302 minutes (5 hours, 2 minutes)
Average time per video: 25 minutes
Created: October, 2014
The Videos
Bits and Binary Numbers (13 mins)
     
Bits and data representation; introduction to binary numbers; 8 bit numbers; 32 bit numbers; counting in binary
Number Bases and Hexadecimal Numbers (33 mins)
     
Base 10 number system; hexadecimal numbers and base 16; base 2; conversions between hex, binary, and decimal
Bits, Bytes, and Words (15 mins)
     
Standard word sizes; using hex to represent bit patterns; octal numbers; data sizes in "C"
Signed and Unsigned Numbers (18 mins)
     
Unsigned numbers; two's complement signed number representation; sign bit; ranges of common data types
Sign Extension (31 mins)
     
Sign extension; changing the size of data; conversions between signed and unsigned; casting in "C"; potential bugs
Arithmetic Operations (27 mins)
     
Binary addition, subtraction, etc; negation; overflow conditions
Storing Numbers in Memory and Byte Ordering (18 mins)
     
Byte addressable memory; big and little endian byte ordering; example C code
Data Alignment (4 mins)
     
Aligning data in memory
Floating Point Numbers (35 mins)
     
Binary fixed point; IEEE single and double precision floating point formats; not-a-number; denormalized numbers
Logical Functions (21 mins)
     
Logical operations (AND, OR, XOR, NOT); masking operations; arithmetic and logical shifts; compare; IA-32 examples
Pointers (39 mins)
     
Pointers; dereferencing and addressing; pointer types and operations in "C"; arrays; pointer arithmetic
ASCII and Unicode (48 mins)
     
The ASCII character set; character encoding; Unicode; UTF-8, UTF-16, and UTF-32 encoding details
Info about video formatting:
Produced on a Mac; MPEG-4; H.264; Millions; AAC; 2 channels; 32000 Hz; FPS: 23.98.
640 x 360; Data rate: about 350 kbit/s
Problems / Comments on This Web Page