fundamentals of programming c
play

Fundamentals of Programming (C) Group 7 Lecturer: Mahdi Soltani - PowerPoint PPT Presentation

Fundamentals of Programming (C) Group 7 Lecturer: Mahdi Soltani Lecture 3 Number Systems Sharif University of Technology Department of Computer Engineering Number Systems Lecture 3 Outline Numeral Systems Computer Data Storage


  1. Fundamentals of Programming (C) Group 7 Lecturer: Mahdi Soltani Lecture 3 Number Systems Sharif University of Technology Department of Computer Engineering

  2. Number Systems – Lecture 3 Outline • Numeral Systems • Computer Data Storage Units • Numeral Systems Conversion • Calculations in Number Systems • Signed Integer Representation • Fractional and Real Numbers • ASCII Codes Sharif University of Technology Department of Computer Engineering 2/52

  3. Number Systems – Lecture 3 Numeral Systems • Decimal number system (base 10) • Binary number system (base 2) – Computers are built using digital circuits – Inputs and outputs can have only two values: 0 and 1 • 1 or True (high voltage) • 0 or false (low voltage) – Writing out a binary number such as 1001001101 is tedious, and prone to errors • Octal and hex are a convenient way to represent binary numbers, as used by computers – Octal number system (base 8) – Hexadecimal number system (base 16) Sharif University of Technology Department of Computer Engineering 3/52

  4. Number Systems – Lecture 3 Numeral Systems Decimal Binary Octal Hexadecimal 0 0 0 0 1 1 1 1 Base B : 0 ≤ digit ≤ B -1 2 -------------------------------------------- 2 2 Base 10 : 0 ≤ digit ≤ 9 (10 -1) 3 3 3 Base 2 : 0 ≤ digit ≤ 1 (2-1) 4 4 4 Base 8 : 0 ≤ digit ≤ 7 (8 -1) 5 5 5 Base 16 : 0 ≤ digit ≤ 15 (16 -1) 6 6 6 7 7 7 8 8 9 9 A (decimal value of 10) B (decimal value of 11) C (decimal value of 12) D (decimal value of 13) E (decimal value of 14) F (decimal value of 15) Sharif University of Technology Department of Computer Engineering 4/52

  5. Number Systems – Lecture 3 Computer Data Storage Units • Bit 0 1 OR – Each bit can only have a binary digit value: 1 or 0 – basic capacity of information in computer – A single bit must represent one of two states: 2 1 =2 • How many state can encode by N bit? Sharif University of Technology Department of Computer Engineering 5/52

  6. Number Systems – Lecture 3 Binary Encoding 3 2 1 0 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 2 1 0 1 0 4 0 0 1 0 5 0 1 1 1 6 0 0 0 0 0 0 1 1 7 0 1 1 0 0 1 0 0 8 1 0 2 0 1 0 1 0 0 0 9 1 1 3 0 1 1 0 1 10 1 0 0 1 11 1 1 1 0 0 4 0 0 0 0 1 0 12 1 0 1 0 5 1 1 0 1 1 0 13 1 1 1 1 0 0 6 0 2 1 0 1 1 14 1 0 1 1 1 1 7 1 3 1 1 1 1 15 1 1 Sharif University of Technology Department of Computer Engineering 6/52

  7. Number Systems – Lecture 3 Computer Data Storage Units • Byte: A sequence of eight bits or binary digits – 2 8 = 256 (0..255) – smallest addressable memory unit 7 6 5 4 3 2 1 0 Bit Order Address Memory 0 0 0 0 0 0 0 0 0 0 One Bit 1 1 0 0 0 0 0 0 0 1 2 2 0 0 0 0 0 0 1 0 3 3 0 0 0 0 0 0 1 1 … … … … … … … … … … Sharif University of Technology Department of Computer Engineering 7/52

  8. Number Systems – Lecture 3 Computer Data Storage Units • Kilo byte: 2 10 b = 1024 b ~ 10 3 b  2 11 = 2 1 x 2 10 = 2 KB = 2048 b  2 16 = 2 6 x 2 10 = 64 KB = 65536 b • Mega byte: 2 20 b = 1024 × 1024 b  2 21 = 2 1 x 2 20 = 2 M • Giga byte: 2 30  … . Sharif University of Technology Department of Computer Engineering 8/52

  9. Number Systems – Lecture 3 Numeral Systems Conversion  Convert from Base-B to Base-10:  (A) B = (?) 10 • (4173) 10 = (4173) 10 • (11001011.0101) 2 = (?) 10 • (0756) 8 = (?) 10 • (3b2) 16 = (?) 10  Convert from Base-10 to Base-B:  (N) 10 = (?) B • (4173) 10 = (?) 2 • (494) 10 = (?) 8 • (946) 10 = (?) 16 Sharif University of Technology Department of Computer Engineering 9/52

  10. Number Systems – Lecture 3 Convert from Base-B to Base-10 1. Define bit order - 1 - 2 - 3 ... .. 7 6 5 4 3 2 1 0 . • Example : Base-2 to Base-10 - 1 - 2 - 3 7 6 5 4 3 2 1 0 -4 1 1 0 0 1 0 1 1 . 0 1 0 1 Sharif University of Technology Department of Computer Engineering 10/52

  11. Number Systems – Lecture 3 Convert from Base-B to Base-10 2. Calculate Position Weight Decimal Point – B bit order 10 2 10 1 10 0 10 -1 10 -2 100s 10s 1s 1/10s 1/100s 9 8 7 . 5 6 • Example : Base-2 to Base-10 Position Weight … 2 6 2 5 2 4 2 3 2 2 2 1 2 0 2 1 - B = 2 2 7 2 -2 2 -3 2 -4 - 1 - 2 - 3 7 6 5 4 3 2 1 0 -4 1 1 0 0 1 0 1 1 . 0 1 0 1 Sharif University of Technology Department of Computer Engineering 11/52

  12. Number Systems – Lecture 3 Convert from Base-B to Base-10 3. Multiplies the value of each digit by the value of its position weight 0.5 128 64 32 16 8 4 2 1 0.25 0.125 0.0625 - 1 - 2 - 3 7 6 5 4 3 2 1 0 -4 * 1 1 0 0 1 0 1 1 . 0 1 0 1 0.5 128 64 32 16 8 4 2 1 0.25 0.125 0.0625 * * * * * * * * * * * * 1 1 0 0 1 0 1 1 0 1 0 1 128 64 0 0 8 0 2 1 . 0 0.25 0 0.0625 Sharif University of Technology Department of Computer Engineering 12/52

  13. Number Systems – Lecture 3 Convert from Base-B to Base-10 4. Adds the results of each section 0.5 128 64 32 16 8 4 2 1 0.25 0.125 0.0625 - 1 - 2 - 3 7 6 5 4 3 2 1 0 -4 1 1 0 0 1 0 1 1 . 0 1 0 1 0.5 * 128 64 32 16 8 4 2 1 0.25 0.125 0.0625 * * * * * * * * 0 * * * 1 1 0 0 1 0 1 1 1 0 1 128 64 0 0 8 0 2 1 . 0 0.25 0 0.0625 203.3125 203 + 0.3125 Sharif University of Technology Department of Computer Engineering 13/52

  14. Number Systems – Lecture 3 Convert from Base-B to Base-10 • Examples: (a n-1 a n-2 … a 0 . a -1 … a -m ) B = (N) 10 N = (a n-1 * B n-1 ) + (a n-2 * B n-2 ) + … + (a 0 * B 0 ) + (a -1 * B -1 ) + … + (a -m * B – m ) • (4173) 10 = (4 * 10 3 ) + (1 * 10 2 ) + (7*10 1 ) + (3*10 0 ) = (4173) 10 • (0756) 8 = (0 * 8 3 ) + (7 * 8 2 ) + (5*8 1 ) + (6*8 0 ) = (494) 10 • (3b2) 16 = (3 * 16 2 ) + (11*16 1 ) + (2*16 0 ) = (946) 10 • (2E6.A3) 16 = (2 * 16 2 ) + (14*16 1 ) + (6*16 0 ) + (10 * (1 / 16)) + (3 * (1 / (16 * 16))) = (?) 10 16 -1 16 -2 Sharif University of Technology Department of Computer Engineering 14/52

  15. Number Systems – Lecture 3 Convert from Base-10 to Base-B • (N) 10 = ( a n-1 a n-2 … a 0 . a -1 … a -m ) B Integer part Fraction part 1. Convert integer part to Base-B – Consecutive divisions 25.125 2. Convert fraction part to Base-B 25 0.125 – Consecutive multiplication Sharif University of Technology Department of Computer Engineering 15/52

  16. Number Systems – Lecture 3 Convert Integer Part to Base-B • Repeat until the quotient reaches 0 • Write the reminders in the reverse order – Last to first 25 2 • Examples: 24 12 2 1 12 6 2 0 6 3 2 ( 25 ) 10 = (11001) 2 0 2 1 2 1 0 0 1 Sharif University of Technology Department of Computer Engineering 16/52

  17. Number Systems – Lecture 3 Convert Integer Part to Base-B • Examples: 16 494 946 8 944 59 16 488 61 8 3 2 48 16 6 56 7 8 11 0 0 5 0 0 3 7 (946) 10 = ( 3B2 ) 16 (494) 10 = (756) 8 Sharif University of Technology Department of Computer Engineering 17/52

  18. Number Systems – Lecture 3 Convert Fraction Part to Base-B • Do • multiply fraction part by B (the result) • drop the integer part of the result (new fraction) • While • (result = 0) OR (reach to specific precision) • the integral parts from top to bottom are arranged from left to right after the decimal point Sharif University of Technology Department of Computer Engineering 18/52

  19. Number Systems – Lecture 3 Convert Fraction Part to Base-B • Example:  0.125 * 2 = 0.25  0.25 * 2 = 0.50 (0.125) 10 = (0.001) 2  0.50 * 2 = 1.00 1.00  0.00 * 2 = 0.00 Sharif University of Technology Department of Computer Engineering 19/52

  20. Number Systems – Lecture 3 Convert Fraction Part to Base-B • Example: – 0.6 * 2 = 1.2 – 0.2 * 2 = 0.4 (0.6) 10 = (0.1001) 2 – 0.4 * 2 = 0.8 – 0.8 * 2 = 1.6 – 0.6 * 2 = … Sharif University of Technology Department of Computer Engineering 20/52

  21. Number Systems – Lecture 3 Conversion binary and octal • Binary to Octal Octal 0 1 2 3 4 5 6 7  2 3 = 8 Binary 000 001 010 011 100 101 110 111  Each digit in octal format: 3 digits in binary format  If the number of digits is not dividable by 3, add additional zeros: 0 0 a 3 a 2 a 1 a 0 a -1 a -2 . • 43 = 043 = 000043 = 043.0 = 043.000 • (10011.1101) 2 = (010011.110100) 2 = (23.64) 8 2 3 6 4 Sharif University of Technology Department of Computer Engineering 21/52

  22. Number Systems – Lecture 3 Conversion binary and octal • Octal to Binary  Substitute each digit with 3 binary digits • (5) 8 = (101) 2 • (1) 8 = (001) 2 • (51) 8 = (101 001) 2 • (23.61) 8 = (010 011.110 001) 2 Sharif University of Technology Department of Computer Engineering 22/52

  23. Number Systems – Lecture 3 Conversion binary and Hexadecimal • Binary to Hexadecimal  2 4 = 16  Each digit in octal format: 4 digits in binary format  If the number of digits is not dividable by 4, add additional zeros: 0 0 a 3 a 2 a 1 a 0 a -1 a -2 . • (1111101.0110) 16 = (01111101.0110) 16 = (7D.6) 2 7 D 6 Sharif University of Technology Department of Computer Engineering 23/52

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend