CSE370, Lecture 2
Lecture 2: Number Systems
 Logistics
 Webpage is up! http://www.cs.washington.edu/370
 HW1 is posted on the web in the calender --- due 10/1 10:30am
 Third TA: Tony Chick chickt@cs.washington.edu
 Email list: please sign up on the web.
 Lab1 starts next week: sections MTW --- show up to pick up
your lab kit
 Last lecture
 Class introduction and overview
 Today
 Binary numbers
 Base conversion
 Number systems
 Twos-complement
 A/D and D/A conversion
CSE370, Lecture 2
CSE370, Lecture 2
The “WHY” slide
 Binary numbers
 All computers work with 0’s and 1’s so it is like learning
alphabets before learning English
 Base conversion
 For convenience, people use other bases (like decimal,
hexdecimal) and we need to know how to convert from one to
another.
 Number systems
 There are more than one way to express a number in binary.
So 1010 could be -2, -5 or -6 and need to know which one.
 A/D and D/A conversion
 Real world signals come in continuous/analog format and it is
good to know generally how they become 0’s and 1’s (and visa
versa).
CSE370, Lecture 2
Digital
 Digital = discrete
 Binary codes (example: BCD)
 Decimal digits 0-9
 Binary codes
 Represent symbols using binary
digits (bits)
 Digital computers:
 I/O is digital
 ASCII, decimal, etc.
 Internal representation is binary
 Process information in bits
Decimal
Symbols
0
1
2
3
4
5
6
7
8
9
BCD
Code
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
CSE370, Lecture 2
The basics: Binary numbers
 Bases we will use
 Binary: Base 2
 Octal: Base 8
 Decimal: Base 10
 Hexadecimal: Base 16
 Positional number system
 1012= 1×22
+ 0×21
+ 1×20
 638 = 6×81
+ 3×80
 A116= 10×161
+ 1×160
 Addition and subtraction
1011
+ 1010
10101
1011
– 0110
0101
CSE370, Lecture 2
Binary → hex/decimal/octal conversion
 Conversion from binary to octal/hex
 Binary: 10011110001
 Octal: 10 | 011 | 110 | 001=23618
 Hex: 100 | 1111 | 0001=4F116
 Conversion from binary to decimal
 1012= 1×22
+ 0×21
+ 1×20
= 510
 63.48 = 6×81
+ 3×80
+ 4×8–1
= 51.510
 A116= 10×161
+ 1×160
= 16110
CSE370, Lecture 2
Decimal→ binary/octal/hex conversion
 Why does this work?
 N=5610=1110002
 Q=N/2=56/2=111000/2=11100 remainder 0
 Each successive divide liberates an LSB (least
significant bit)
CSE370, Lecture 2
Number systems
 How do we write negative binary numbers?
 Historically: 3 approaches
 Sign-and-magnitude
 Ones-complement
 Twos-complement
 For all 3, the most-significant bit (MSB) is the sign
digit
 0 ≡ positive
 1 ≡ negative
 twos-complement is the important one
 Simplifies arithmetic
 Used almost universally
CSE370, Lecture 2
Sign-and-magnitude
 The most-significant bit (MSB) is the sign digit
 0 ≡ positive
 1 ≡ negative
 The remaining bits are the number’s magnitude
 Problem 1: Two representations for zero
 0 = 0000 and also –0 = 1000
 Problem 2: Arithmetic is cumbersome
CSE370, Lecture 2
Ones-complement
 Negative number: Bitwise complement positive number
 0011 ≡ 310
 1100 ≡ –310
 Solves the arithmetic problem
 Remaining problem: Two representations for zero
 0 = 0000 and also –0 = 1111
CSE370, Lecture 2
Twos-complement
 Negative number: Bitwise complement plus one
 0011 ≡ 310
 1101 ≡ –310
 Number wheel
0000
0001
0011
1111
1110
1100
1011
1010
1000 0111
0110
0100
0010
0101
1001
1101
0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
– 8
– 7
– 6
– 5
– 4
– 3
– 2
– 1
 Only one zero!
 MSB is the sign digit
 0 ≡ positive
 1 ≡ negative
CSE370, Lecture 2
Twos-complement (con’t)
 Complementing a complement  the original number
 Arithmetic is easy
 Subtraction = negation and addition
 Easy to implement in hardware
CSE370, Lecture 2
Miscellaneous
 Twos-complement of non-integers
 1.687510 = 01.10112
 –1.687510 = 10.01012
 Sign extension
 Write +6 and –6 as twos complement
 0110 and 1010
 Sign extend to 8-bit bytes
 00000110 and 11111010
 Can’t infer a representation from a number
 11001 is 25 (unsigned)
 11001 is –9 (sign magnitude)
 11001 is –6 (ones complement)
 11001 is –7 (twos complement)
CSE370, Lecture 2
Twos-complement overflow
 Summing two positive numbers gives a negative result
 Summing two negative numbers gives a positive result
 Make sure to have enough bits to handle overflow
0000
0001
0011
1111
1110
1100
1011
1010
1000 0111
0110
0100
0010
0101
1001
1101
0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
– 8
– 7
– 6
– 5
– 4
– 3
– 2
– 1
0000
0001
0011
1111
1110
1100
1011
1010
1000 0111
0110
0100
0010
0101
1001
1101
0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
– 8
– 7
– 6
– 5
– 4
– 3
– 2
– 1
6 + 4 ⇒ –6 –7 – 3 ⇒ +6
CSE370, Lecture 2
Gray and BCD codes
Decimal
Symbols
0
1
2
3
4
5
6
7
8
9
BCD
Code
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Decimal
Symbols
0
1
2
3
4
5
6
7
8
9
Gray
Code
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
CSE370, Lecture 2
The physical world is analog
 Digital systems need to
 Measure analog quantities
 Speech waveforms, etc
 Control analog systems
 Drive motors, etc
 How do we connect the analog and digital domains?
 Analog-to-digital converter (A/D)
 Example: CD recording
 Digital-to-analog converter (D/A)
 Example: CD playback
CSE370, Lecture 2
Sampling
 Quantization
 Conversion from analog
to discrete values
 Quantizing a signal
 We sample it
Datel Data Acquisition and
Conversion Handbook
CSE370, Lecture 2
Conversion
 Encoding
 Assigning a digital word to
each discrete value
 Encoding a quantized
signal
 Encode the samples
 Typically Gray or binary
codes
Datel Data Acquisition and
Conversion Handbook

NumberSystems.ppt

  • 1.
    CSE370, Lecture 2 Lecture2: Number Systems  Logistics  Webpage is up! http://www.cs.washington.edu/370  HW1 is posted on the web in the calender --- due 10/1 10:30am  Third TA: Tony Chick [email protected]  Email list: please sign up on the web.  Lab1 starts next week: sections MTW --- show up to pick up your lab kit  Last lecture  Class introduction and overview  Today  Binary numbers  Base conversion  Number systems  Twos-complement  A/D and D/A conversion
  • 2.
  • 3.
    CSE370, Lecture 2 The“WHY” slide  Binary numbers  All computers work with 0’s and 1’s so it is like learning alphabets before learning English  Base conversion  For convenience, people use other bases (like decimal, hexdecimal) and we need to know how to convert from one to another.  Number systems  There are more than one way to express a number in binary. So 1010 could be -2, -5 or -6 and need to know which one.  A/D and D/A conversion  Real world signals come in continuous/analog format and it is good to know generally how they become 0’s and 1’s (and visa versa).
  • 4.
    CSE370, Lecture 2 Digital Digital = discrete  Binary codes (example: BCD)  Decimal digits 0-9  Binary codes  Represent symbols using binary digits (bits)  Digital computers:  I/O is digital  ASCII, decimal, etc.  Internal representation is binary  Process information in bits Decimal Symbols 0 1 2 3 4 5 6 7 8 9 BCD Code 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
  • 5.
    CSE370, Lecture 2 Thebasics: Binary numbers  Bases we will use  Binary: Base 2  Octal: Base 8  Decimal: Base 10  Hexadecimal: Base 16  Positional number system  1012= 1×22 + 0×21 + 1×20  638 = 6×81 + 3×80  A116= 10×161 + 1×160  Addition and subtraction 1011 + 1010 10101 1011 – 0110 0101
  • 6.
    CSE370, Lecture 2 Binary→ hex/decimal/octal conversion  Conversion from binary to octal/hex  Binary: 10011110001  Octal: 10 | 011 | 110 | 001=23618  Hex: 100 | 1111 | 0001=4F116  Conversion from binary to decimal  1012= 1×22 + 0×21 + 1×20 = 510  63.48 = 6×81 + 3×80 + 4×8–1 = 51.510  A116= 10×161 + 1×160 = 16110
  • 7.
    CSE370, Lecture 2 Decimal→binary/octal/hex conversion  Why does this work?  N=5610=1110002  Q=N/2=56/2=111000/2=11100 remainder 0  Each successive divide liberates an LSB (least significant bit)
  • 8.
    CSE370, Lecture 2 Numbersystems  How do we write negative binary numbers?  Historically: 3 approaches  Sign-and-magnitude  Ones-complement  Twos-complement  For all 3, the most-significant bit (MSB) is the sign digit  0 ≡ positive  1 ≡ negative  twos-complement is the important one  Simplifies arithmetic  Used almost universally
  • 9.
    CSE370, Lecture 2 Sign-and-magnitude The most-significant bit (MSB) is the sign digit  0 ≡ positive  1 ≡ negative  The remaining bits are the number’s magnitude  Problem 1: Two representations for zero  0 = 0000 and also –0 = 1000  Problem 2: Arithmetic is cumbersome
  • 10.
    CSE370, Lecture 2 Ones-complement Negative number: Bitwise complement positive number  0011 ≡ 310  1100 ≡ –310  Solves the arithmetic problem  Remaining problem: Two representations for zero  0 = 0000 and also –0 = 1111
  • 11.
    CSE370, Lecture 2 Twos-complement Negative number: Bitwise complement plus one  0011 ≡ 310  1101 ≡ –310  Number wheel 0000 0001 0011 1111 1110 1100 1011 1010 1000 0111 0110 0100 0010 0101 1001 1101 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 – 8 – 7 – 6 – 5 – 4 – 3 – 2 – 1  Only one zero!  MSB is the sign digit  0 ≡ positive  1 ≡ negative
  • 12.
    CSE370, Lecture 2 Twos-complement(con’t)  Complementing a complement  the original number  Arithmetic is easy  Subtraction = negation and addition  Easy to implement in hardware
  • 13.
    CSE370, Lecture 2 Miscellaneous Twos-complement of non-integers  1.687510 = 01.10112  –1.687510 = 10.01012  Sign extension  Write +6 and –6 as twos complement  0110 and 1010  Sign extend to 8-bit bytes  00000110 and 11111010  Can’t infer a representation from a number  11001 is 25 (unsigned)  11001 is –9 (sign magnitude)  11001 is –6 (ones complement)  11001 is –7 (twos complement)
  • 14.
    CSE370, Lecture 2 Twos-complementoverflow  Summing two positive numbers gives a negative result  Summing two negative numbers gives a positive result  Make sure to have enough bits to handle overflow 0000 0001 0011 1111 1110 1100 1011 1010 1000 0111 0110 0100 0010 0101 1001 1101 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 – 8 – 7 – 6 – 5 – 4 – 3 – 2 – 1 0000 0001 0011 1111 1110 1100 1011 1010 1000 0111 0110 0100 0010 0101 1001 1101 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 – 8 – 7 – 6 – 5 – 4 – 3 – 2 – 1 6 + 4 ⇒ –6 –7 – 3 ⇒ +6
  • 15.
    CSE370, Lecture 2 Grayand BCD codes Decimal Symbols 0 1 2 3 4 5 6 7 8 9 BCD Code 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Decimal Symbols 0 1 2 3 4 5 6 7 8 9 Gray Code 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101
  • 16.
    CSE370, Lecture 2 Thephysical world is analog  Digital systems need to  Measure analog quantities  Speech waveforms, etc  Control analog systems  Drive motors, etc  How do we connect the analog and digital domains?  Analog-to-digital converter (A/D)  Example: CD recording  Digital-to-analog converter (D/A)  Example: CD playback
  • 17.
    CSE370, Lecture 2 Sampling Quantization  Conversion from analog to discrete values  Quantizing a signal  We sample it Datel Data Acquisition and Conversion Handbook
  • 18.
    CSE370, Lecture 2 Conversion Encoding  Assigning a digital word to each discrete value  Encoding a quantized signal  Encode the samples  Typically Gray or binary codes Datel Data Acquisition and Conversion Handbook