62
1 4 Data Representation Fundamental of Computer Science CS-ICT-GIS Faculty of Informatics MSU

1 Data Representation Fundamental of Computer · ASCII Unicode . 6 BCD ... เลขฐานสอง B = 11 0010 (B อยู่ในข้อมูลชุดที่ 1 ล

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    4 Data Representation Fundamental of Computer Science

    CS-ICT-GIS

    Faculty of Informatics

    MSU

  • 2

    Outline

    หน่วยทางคอมพวิเตอร ์

    ระบบเลขฐานทีใ่ชใ้นคอมพวิเตอร ์

    การแทนคา่ขอ้มลูตวัอกัษร

    การแทนคา่ขอ้มลูตวัเลขจ านวนเต็ม

    การแทนคา่ขอ้มลูตวัเลขจ านวนจรงิ

  • 3

    Bit & Byte

    Bit (BInary DigiT)

    • หน่วยทีเ่ล็กทีส่ดุทีใ่ชใ้นการเก็บขอ้มลูในคอมพวิเตอร ์

    • แทนสถานะอยา่งใดอยา่งหนึง่ของสวติช ์(“เปิด” หรอื “ปิด”)

    ไบต ์(Byte)

    • กลุม่ของบติทีม่คีวามหมายเฉพาะ

    • 1 ไบต ์= 8 บติ

    • แสดงสญัลักษณ์ทีแ่ตกตา่งกนัไดถ้งึ 256 รหัส

    • 1 KiloByte(KB) = 1024 Bytes = 210 Bytes = ? Bits

    • 1 MegaByte(MB) = ? KB = ? Bytes = ? Bits

    • 1 GigaByte(GB) = ? MB = ? KB = ? Bytes = ? Bits

  • 4

    การแทนคา่ขอ้มลู (Data Representation)

    รหัสทีใ่ชแ้ทนตัวเลข ตัวอกัษร สญัลักษณ์ตา่งๆ ทีป่ระกอบอยูใ่นค าสัง่ และขอ้มลู เพือ่ใชใ้นการประมวลผล

    Data Representation

    Nonnumeric Representation (Character Representation)

    Numeric Representation

  • 5

    Character Representation

    BCD

    EBCDIC

    ASCII

    Unicode

  • 6

    BCD - Binary Code Decimal

    ก าหนดขึน้โดย IBM เพือ่ใชใ้นคอมพวิเตอร ์IBM ในยคุแรก ๆ (1959-1965)

    6 บติ แทนขอ้มลู 1 อกัขระ (Character)

    สรา้งรหสัได ้26 = 64 รหสั

    • อกัขระตัวพมิพใ์หญ ่ 26 ตัว

    • ตัวเลข 10 ตัว

    • สญัลักษณ์พเิศษ 28 ตัว

  • 7

    Standard BCD

    คา่ล าดับของตัวอกัษร ตามคา่ในเลขฐานสอง

    ก าหนดกลุม่ของขอ้มลู

    A B 2 1 4 8

  • 8

    BCD – Number

    Zone Bit

    Zone A จะเป็น 0

    Zone B จะเป็น 0

    EX

    0 = 00 0000

    1 = 00 0001

    2 = 00 0010

    3 = 00 0011

    4 = 00 0100

    Numeric Bit

    คา่ของตวัเลขน ัน้ ในระบบเลขฐานสอง

    5 = 00 0101

    6 = 00 0110

    7 = 00 0111

    8 = 00 1000

    9 = 00 1001

    http://www.nrru.ac.th/learning/science/sc_007/03/unit3/data2.html

  • 9

    BCD – Character

    Zone Bit

    A - I Zone A จะเป็น 1 Zone B จะเป็น 1

    J - R Zone A จะเป็น 1 Zone B จะเป็น 0

    S - Z Zone A จะเป็น 0 Zone B จะเป็น 1

    Numeric Bit

    คา่ล าดบัของตัวอักษรนัน้ ในระบบเลขฐานสอง

    B = 11 0010

    (B อยูใ่นขอ้มลูชดุที ่1 ล าดบัที ่2)

    M = 10 0100

    (M อยูใ่นขอ้มลูชดุที ่2 ล าดบัที ่4)

    X = 01 0110

    (X อยูใ่นขอ้มลูชดุที ่3 ล าดบัที ่6)

    http://www.nrru.ac.th/learning/science/sc_007/03/unit3/data2.html

  • 10

    BCD – Special Character

    บรษิทัผูผ้ลติเครือ่งคอมพวิเตอรจ์ะเป็นผูก้ าหนดขึน้มาเอง

    ( = 11 1101

    ) = 10 1101

    * = 10 1100

    / = 01 0001

    + = 01 1010

    - = 10 0000

    http://www.nrru.ac.th/learning/science/sc_007/03/unit3/data2.html

  • 11

    EBCDIC : Extended Binary Coded Decimal Interchange Code

    IBM พฒันารหสั EBCDIC ขึน้ใชก้บัเครือ่ง IBM System/360 (1965)

    8 บติ แทนขอ้มลู 1 อกัขระ (Character)

    สรา้งรหสัได ้28 = 256 รหสั (ใชเ้ลขฐาน 16 แสดงรหสัขอ้มลู)

  • 12

    EBCDIC

    คา่ล าดับของตัวอกัษร ตามคา่ในเลขฐานสอง

    ก าหนดกลุม่ของขอ้มลู

    2 1 4 8 2 1 4 8

  • 13

    EBCDIC – Number

    Zone Bit

    จะเป็น (1111)2

    EX

    0 = 1111 0000

    1 = 1111 0001

    2 = 1111 0010

    3 = 1111 0011

    4 = 1111 0100

    Numeric Bit

    คา่ของตวัเลขนัน้ ในระบบเลขฐานสอง

    5 = 1111 0101

    6 = 1111 0110

    7 = 1111 0111

    8 = 1111 1000

    9 = 1111 1001

    http://www.nrru.ac.th/learning/science/sc_007/03/unit3/data2.html

  • 14

    EBCDIC – Character

    Zone Bit

    A - I จะเป็น (1100)2 หรอื (C)16

    J - R จะเป็น (1101)2 หรอื (D)16

    S - Z จะเป็น (1110)2 หรอื (E)16

    a - i จะเป็น (1000)2 หรอื (8)16

    j - r จะเป็น (1001)2 หรอื (9)16

    s - z จะเป็น (1010)2 หรอื (A)16

    Numeric Bit

    คา่ล าดับของตัวอกัษรนัน้ ในระบบเลขฐานสอง

    Ex.

    B = (1100 0010)2 หรอื

    (C2)16

    M = (1101 0100)2 หรอื

    (D4)16

    X = (1110 0110)2 หรอื

    (E6)16

    http://www.nrru.ac.th/learning/science/sc_007/03/unit3/data2.html

  • 15

    ASCII

    American Standard Code for Information Interchange

    International Alphabet Number 5

    In Trend Code

    พัฒนาโดย American National Standard Institute: ANSI

    ประกอบดว้ยเลขฐานสอง 7 บติ (ปัจจบุันใช ้8 บติ) แทนอกัขระ 1 ตัว

  • 16

    ASCII TABLE

    0 – 31 Control Code

    32 – 127

    Lower ASSCII ตวัอกัษรภาษาองักฤษ

    ตวัเลข สัญลกัษณ์

  • 17

    ASCII TABLE

    “Higher ASCII” : แทนอกัขระภาษาตา่ง ๆ

  • 18

    Unicode : Unicode World Wide Character Standard

    ใชเ้นือ้ที ่2 ไบต ์หรอื 16 บติ ในการแทนสญัลกัษณ์ตา่ง ๆ

    สามารถแทนสญัลกัษณ์ไดถ้งึ 216 = 65,536 สญัลกัษณ ์

    เพยีงพอส าหรับภาษาญีปุ่่ น (50,000 ตวัอกัษร)

  • 19

    Error Detection and Error Correction Codes

    ขอ้มลูในระบบดจิติอลทีผ่ดิพลาดคอื ขอ้มลูทีม่ ีต ัง้แต ่1 บติขึน้ไปทีไ่มถ่กูตอ้ง

    • “Single Errors” : ผดิ 1 บติ

    • “Multiple Errors” : ผดิมากกวา่ 1 บติ

    “Simple Parity Code”

    • ใชส้ าหรบัการตรวจสอบขอ้ผดิพลาดแบบ “Single Errors”

    • เพิม่บติพเิศษเขา้ไปในขอ้มลู 1 บติ โดยจะเรยีกบติทีเ่พ ิม่เขา้ไปนีว้า่ “Parity Bit”

  • 20

    Simple Parity Code

    Odd-Parity Codes

    เตมิ Parity Bit ทีเ่ป็น “1” หรอื “0” เพือ่ให้จ านวนบติของ “1” ของขอ้มลูน ัน้ ๆ เป็นจ านวนคี ่(Odd)

    Even-Parity Codes

    จะเตมิ Parity Bit ทีเ่ป็น “1” หรอื “0” เพือ่ให้จ านวนบติของ “1” ของขอ้มลูน ัน้ ๆ เป็นจ านวนคู ่(Even)

  • 21

    Odd-Parity Codes : จ านวนคี ่(Odd) Even-Parity Codes : จ านวนคู ่(Even)

  • 22

    Example 1

    ใหส้ง่ค าวา่ “MSU” ดว้ย Odd Parity

    จากตาราง ASCII ขา้งตน้จะไดว้า่

    Character Hex Bin จ านวนบติ “1” Odd-Parity Code

    M 4D 100 1101 4 1100 11012 หรอื (CD)16

    S

    U

    การสง่ขอ้ความ “MSU” ดว้ย Odd Parity คอื (CD _ _ _ _ )16

  • 23

    Example 2

    ขอ้มลูชดุหนึง่ถกูสง่ดว้ย Odd Parity ดังนี ้

    C8 E5 EC EC EF16

    ใหห้าวา่ผูส้ง่ขอ้มลู สง่ขอ้ความใดถงึผูรั้บ

  • 24

    Numeric Representation

    Fixed Point Representation (Integer Representation)

    • Unsigned Integer

    • Sign-Magnitude

    • Complement

    One’s Complement

    Two’s Complement

    Floating Point Representation

    • IEEE 754 Standard

  • 25

    Unsigned Integer Representation

    แทนคา่ตวัเลขไดโ้ดยใชเ้ลขฐานสองโดยตรง

    ถา้จ านวนบติขอ้มลูทีใ่ชใ้นการแทนคา่เป็น n บติ คา่ทีแ่ทนไดจ้ะอยูใ่นชว่งต ัง้แต ่0, 1, 2, …, (2n - 1)

    เลขฐานสองตัว เลขเยอะ ให ้

    เวน้วรรคทกุๆ 4 ตัวดว้ยจะไดด้งูา่ย

    ท าขอ้สอบก็ไมผ่ดิ

  • 26

    ตวัอยา่งการแทนคา่ Unsigned Integer ขนาด 4 บติ

    Dec Hex Unsigned Integer

    0 0 0000

    1 1 0001

    2 2 0010

    3 3 0011

    4 4 0100

    5 5 0101

    6 6 0110

    7 7 0111

    8 8 1000

    9 9 1001

    10 A 1010

    11 B 1011

    12 C 1100

    13 D 1101

    14 E 1110

    15 F 1111

    ขอ้มลูขนาด n = 4 บติ

    จ านวนขอ้มลู 2n = 24 = 16 จ านวน

    ชว่งขอ้มลู 0, 1, 2, …, 15

    ตารางนีท้กุคนควรตอ้งจ าใหไ้ดน้ะ จะท าใหแ้ปลงเลขฐาน 2 กับ 16 ได ้คลอ่ง

  • 27

    Sign-Magnitude Representation

    แทนคา่เลขจ านวนเต็มแบบมเีครือ่งหมาย (Sign Integers)

    •จ านวนบติทีใ่ชใ้นการแทนคา่เป็น n บติ •จ านวนคา่รหัสตัวแทนทัง้หมด 2n

    •แบง่เป็นรหัสตัวแทนจ านวนเลขบวกและเลขลบอยา่งละ 2n-1

    •คา่ทีส่ามารถแทนไดจ้ะอยูใ่นชว่ง ตัง้แต ่ – (2n-1 – 1), …, -1, -0, 0, 1, …, + (2n-1 – 1)

  • 28

    เลขคู ่LSB ตอ้งเป็น 0 เสมอ

  • 29

    บวก-ลบเลขผดิพลาด (กรณีตวัต ัง้เป็นเลขลบ)

    • ตวัอยา่ง ให ้X = 2 และ Y = 5 และมจี านวนบติ 4 บติ

    ปญัหา Sign Magnitude

    มตีวัแทนของ 0 สองคา่

    +X+Y

    (+X)+(+Y)

    +2 00102 +5 01012

    +7 01112

    -X+Y

    (-X)+(+Y)

    -2 10102 +5 01012

    +3 11112

    00112

    -X-Y

    (-X)+(-Y)

    -2 10102 -5 11012

    -7 01112

    11112

    +X-Y

    (+X)+(-Y)

    +2 00102 -5 11012

    -3 11112

    10112

    x x x

  • 30

    Complement Representation

    One’s Complement Representation

    Two’s Complement Representation

  • 31

    One’s Complement Representation

    ตัวเลขบวก : ใชห้ลกัการเดยีวกับ Sign Magnitude

    ตัวเลขลบ : ใชว้ธิกีารแทนคา่แตล่ะบติ (N)2 ดว้ยคา่ตรงขา้ม (Complement) ของบตินัน้ คอื กลับบติ 1 เป็น 0 และจาก 0 เป็น 1

    •จ านวนบติทีใ่ชใ้นการแทนคา่เป็น n บติ •จ านวนคา่รหัสตัวแทนทัง้หมด 2n

    •แบง่เป็นรหัสตัวแทนจ านวนเลขบวกและเลขลบอยา่งละ 2n-1

    •คา่ทีส่ามารถแทนไดจ้ะอยูใ่นชว่ง ตัง้แต ่ – (2n-1 – 1), …, -1, -0, 0, 1, …, 2n-1 – 1

    Sign Bit

  • 32

    One’s Complement Representation

  • 33

    หาคา่ตวัแทนจากรหสัฐานสองเป็นรหสัฐานสบิ

    หาคา่ตวัแทนของ (0100 1010)2

    บติเครือ่งหมายเป็น +

    ใหน้ าบติทีเ่หลอืมาหาคา่ดว้ยวธิกีารแปลงเลขฐานสอง

    +(100 1010)2 =+(26 + 23 + 21)= +(74)10

    หาคา่ตวัแทนของเลข (1100 1010)2

    บติเครือ่งหมายเป็น

    ใหน้ าบติทีเ่หลอืมาหาคา่ดว้ยวธิ ีOne’s Complement

    (100 1010)2 = (011 0101)2 น าผลทีไ่ดม้าหาคา่เลขลบดว้ยการแปลงเลขฐานสอง

    (011 0101)2 = (25+24+22+20) = (53)10

  • 34

    การบวกและลบของเลข One’s Complement

    แทนคา่ตวัเลขทีต่อ้งการค านวณดว้ย 1’s Complement

    หาผลบวกของ 1’s Complement ทีไ่ดจ้ากขอ้ 1

    ถา้มตีวัทดสดุทา้ย (End Round Carry) ใหน้ าตวัทดนัน้ไปบวกกบัหลกัขวาสดุ เพือ่ชดเชยผลลพัธค์วามผดิพลาดของผลลพัธข์ัน้ตน้

    พจิาณาผลลพัธข์ัน้สดุทา้ย โดยพจิาณาบติซา้ยสดุ (Sign Bit)

    • ถา้บติซา้ยสดุเป็น แสดงวา่ ผลลัพธเ์ป็นบวก

    • ถา้บติซา้ยสดุเป็น แสดงวา่ ผลลัพธเ์ป็นลบ ใหท้ า

    One’s Complement กับบติทีเ่หลอื

  • 35

    = +(12)10

    = +(2)10

  • 36

    (-7)+(5)

    = -(2)10

    = -(12)10

  • 37

    ปญัหา One’s Complement

    แกปั้ญหาการบวก-ลบเลขผดิพลาด กรณีตวัตัง้เป็นลบได ้

    ยังคงมตีวัแทน 0 สองคา่

    • +010 = 0000 00002 • -010 = 1111 11112

    ดงัน ัน้ชว่งขอ้มลูจะอยูใ่นชว่งต ัง้แต ่ –(2n-1 – 1), …,1, -0, 0, 1, …, 2n-1 – 1

  • 38

    Two’s Complement Representation

    จัดเกบ็เหมอืน One’s Complement

    ตวัเลขบวก : ใชห้ลกัการเดยีวกบั Sign Magnitude

    ตวัเลขลบ : ใหด้ าเนนิการดงันี ้

    • ท า One’s Complement

    • น า 1 มาบวกกบัคา่ One’s Complement ทีไ่ด ้

    •จ านวนบติทีใ่ชใ้นการแทนคา่เป็น n บติ •จ านวนคา่รหัสตัวแทนทัง้หมด 2n

    •แบง่เป็นรหัสตัวแทนจ านวนเลขบวกและเลขลบอยา่งละ 2n-1

    •คา่ทีส่ามารถแทนไดจ้ะอยูใ่นชว่ง ตัง้แต ่ – (2n-1), …, -1, -0, 0, 1, …, 2n-1 – 1

  • 39

    Two’s Complement Representation

    0 0 1 0 0 1 0 = 18 ( 0 0 1 0 0 1 0)1cns

    1 1 0 1 1 0 1 One’s complement

    (0 0 0 0 0 0 1) (+1)2

    (1 1 0 1 1 1 0) Two’s Complement

    1 1 1 0 1 1 1 0 = -18

    1 0 0 0 0 0 1 = 65

    (1 0 0 0 0 0 1)1cns

    0 1 1 1 1 1 0 One’s complement

    (0 0 0 0 0 0 1) (+1)2 (0 1 1 1 1 1 1) Two’s Complement

    1 0 1 1 1 1 1 1 = -65

  • 40

    การบวกและลบของเลข Two’s Complement

    แทนคา่ตวัเลขทีต่อ้งการค านวณดว้ย 2’s Complement

    หาผลบวกของ 2’s Complement ทีไ่ดจ้ากขอ้ 1

    ถา้มตีวัทดสดุทา้ย (End Round Carry) ใหต้ดัตวัทดนัน้ทิง้ไป

    พจิาณาผลลพัธข์ัน้สดุทา้ย โดยพจิารณาบติซา้ยสดุ (Sign Bit)

    ถา้บติซา้ยสดุเป็น แสดงวา่ ผลลพัธเ์ป็นบวก

    ถา้บติซา้ยสดุเป็น แสดงวา่ ผลลพัธเ์ป็นลบ ใหท้ า

    2’s Complement บติทีเ่หลอื

  • 41

    A+B

    A-B=A+(-B) = +(12)10

    = +(2)10

  • 42

    -A+B=(-A)+B

    -A-B=(-A)+(-B)

    (-7)+(5)

    = -(2)10

    = -(12)10

  • 43

    ปญัหา Two’s Complement

    สามารถแกปั้ญหาการบวก-ลบเลขได ้

    แกปั้ญหาการแทนคา่ 0

    • +010 = 0000 00002 • -010 = 1111 1111 One’s complement

    0000 00012 1 0000 00002

  • 44

    Example : การหาชว่งขอ้มลูส าหรบัการแทนคา่ตวัเลขจ านวนเต็มแบบมเีครือ่งหมาย

    ขอ้มลูขนาด 4 บติ

    จ านวนขอ้มลู = 2n = 24 = 16 จ านวน

    จ านวนเลขบวก = จ านวนเลขลบ = 2n-1 = 23

    Sign Magnitude และ One’s Complement มชีว่งขอ้มลูคอื -7, -6, …, -1, -0, 0, 1, …, 6, 7

    Two’s Complement มชีว่งขอ้มลูคอื -8, -7, …, -1, 0, 1, …, 6, 7

  • 45

    Example : การแทนคา่จ านวนเต็มแบบมเีครือ่งหมาย ขนาด 4 บติ

    Decimal Sign Magnitude 1’s Complement Decimal 2’s Complement

    -7 1111 1000 -8 1000

    -6 1110 1001 -7 1001

    -5 1101 1010 -6 1010

    -4 1100 1011 -5 1011

    -3 1011 1100 -4 1100

    -2 1010 1101 -3 1101

    -1 1001 1110 -2 1110

    -0 1000 1111 -1 1111

    0 0000 0000 0 0000

    1 0001 0001 1 0001

    2 0010 0010 2 0010

    3 0011 0011 3 0011

    4 0100 0100 4 0100

    5 0101 0101 5 0101

    6 0110 0110 6 0110

    7 0111 0111 7 0111

  • 46

    Exercise 1

    ถา้ก าหนดขนาดขอ้มลูมขีนาด 8 บติ จงหา

    • จ านวนคา่รหัสตวัแทนของขอ้มลูขนาด 8 บติ เมือ่มกีารแทนคา่ส าหรับตวัเลขจ านวนเต็ม

    • จ านวนคา่รหัสตวัแทนของขอ้มลูตัวเลขจ านวนเต็มแบบมีเครือ่งหมาย

    เลขลบ

    เลขบวก

    • ชว่งของขอ้มูล

    Unsigned Integer

    Sign Magnitude

    One’s Complement

    Two’s Complement

    จงหาคา่ตวัเลขเมือ่รหัสทีถ่กูแทนคา่เป็น (1111 0101)2 = (?)10

    • เมือ่ท าการแทนคา่ดว้ย

    Unsigned Integer

    Sign Magnitude

    One’s Complement

    Two’s Complement

  • 47

    Exercise 2

    จงหาคา่รหัสตัวแทน โดยจัดเก็บขอ้มลูขนาด 8 บติ เมือ่มกีารจัดเก็บขอ้มลูตัวเลขตา่งๆ ดังนี้ • (250)10 = (?)2

    เมือ่จดัเก็บดว้ย Unsigned Integer

    • (120)10 = (?)2 เมือ่จดัเก็บดว้ย Sign Magnitude One’s Complement Two’s Complement

    • (-120)10 = (?)2

    เมือ่จดัเก็บดว้ย Sign Magnitude One’s Complement Two’s Complement

  • 48

    Exercise 3

    ถา้ก าหนดขนาดขอ้มลูใหม้ขีนาด 5 บติ จงหาวา่คา่ผลลพัธท์ีไ่ดต้อ่ไปนีเ้กดิ Overflow หรอืไม ่ถา้เกดิตวัเลขทีไ่ดต้รงกบัเลขอะไรในฐานสบิ

    • (01101)2+(10100)2

    เมือ่จัดเก็บแบบ Unsigned Integer

    • (10111)2+(01001)2

    เมือ่จัดเก็บแบบ Sign Magnitude

    • (10111)2+(10110)2

    เมือ่จัดเก็บแบบ One’s Complement

    เมือ่จัดเก็บแบบ Two’s Complement

  • 49

    Overflow 64+65=129

    -64-65=-129

  • 50

    Overflow

    เกดิจากผลลัพธจ์ากการค านวณมขีนาดใหญเ่กนิกวา่ทีค่อมพวิเตอรส์ามารถจัดเก็บได ้

    การพัฒนาโปรแกรมจะตอ้งมกีารตรวจสอบ Overflow เพือ่แจง้ให ้user ทราบถงึความผดิพลาดทีเ่กดิขึน้

  • 51

    ภาพแสดงการแทนคา่ Two’s Complement และการเกดิ Overflow

  • 52

    ตวัอยา่งชว่งขอ้มลู

    เลข n บติ แบบไมค่ดิเครือ่งหมาย สามารถเก็บขอ้มลูไดต้ัง้แต ่ 0 ถงึ (2n -1)

    • 8 บติ เก็บขอ้มลูไดต้ัง้แต ่0 ถงึ 255

    เกดิ Overflow ถา้ขอ้มลูมคีา่นอ้ยกวา่ 0 และมากกวา่ 255

    • 16 บติ เก็บขอ้มลูไดต้ัง้แต ่0 ถงึ 65,535

    เกดิ Overflow ถา้ขอ้มลูมคีา่นอ้ยกวา่ 0 และมากกวา่ 255

    เลข n บติ แบบคดิเครือ่งหมายส าหรับ Two’s Complement สามารถเก็บ

    ขอ้มลูไดต้ัง้แต ่–(2n-1 ) ถงึ +(2n-1 -1)

    • 8 บติ เก็บขอ้มลูไดต้ัง้แต ่-128 ถงึ +127

    เกดิ Overflow ถา้ขอ้มลูมคีา่นอ้ยกวา่ -128 และมากกวา่ 127

    • 16 บติ เก็บขอ้มลูไดต้ัง้แต ่-32,768 ถงึ +32,767

    เกดิ Overflow ถา้ขอ้มลูมคีา่นอ้ยกวา่ -32,768 และมากกวา่ +32,767

  • 53

    Exercise 4

    จงหาผลลัพธต์อ่ไปนีว้า่เกดิ Overflow หรอืไม ่

    • ถา้แทนคา่ดว้ย One’s Complement ขนาด 8 บติ

    -1-127

    (0000 0010)2 + (0111 1111)2 • ถา้แทนคา่ดว้ย Sign Magnitude ขนาด 8 บติ

    +1+127

    (1000 0010)2 + (1111 1111)2 • ถา้แทนคา่ดว้ย Unsigned Integer ขนาด 8 บติ

    +2+254

    (0000 0010)2 + (1111 1110)2 • ถา้แทนคา่ดว้ย Unsigned Integer ขนาด 8 บติ

    -3-126

    (0000 0111)2 + (0111 1110)2

  • 54

    Floating Point Representation

    1.234 x 1085

    M +1.234

    B 10

    e +85

    1.234 x 10-85

    M +1.234

    B 10

    e -85

    องคป์ระกอบของเลขจ านวนจรงิ

    1. Mantissa หรอื Fraction Part (M)

    2. Base Exponent (B) และ

    3. Exponent (e)

  • 55

    IEEE 754 Standard

  • 56

    IEEE 754 Standard

    Sign จ านวนบวก : 0

    จ านวนลบ : 1

    Exponent Short Real : Bias ของ 27-1 = 127

    Long Real : Bias ของ 210-1 = 1023

    Mantissa คา่นัยส าคญัในรปูแบบ

    “Normalized Form”

  • 57

    การแทนคา่ Floating Point ดว้ย IEEE 754

    แปลงเลขฐานสบิเป็นฐานสอง

    • 10.625 = (1010.101)2

    จัด Normalize Form กับเลขฐานสอง โดยใหอ้ยูใ่นรปู

    • (1.ddddd…)2 x 2e

    • เชน่ (1010.101)2 x 20 (1.010101)2 x 2

    3 -(0.0001101)2 x 2

    0 -(1.101)2 x 2-4

    น าคา่ e (exponent) มาหาคา่ Bias Exponent ในรปูฐานสอง เชน่

    • Short real : Bias = 127 ดงันัน้

    (1.010101)2 x 23 ซึง่ e = 3 แลว้

    Bias Exponent = 127 + 3 = 130 = (0100 0010)2

    -(1.101)2 x 2-4 ซึง่ e = - 4 แลว้

    Bias Exponent = 127 + (-4) = 123 = (0111 1011)2

  • 58

  • 59

  • 60

    Exercise 4 : Floating Point

    +1.101

    -11.11

    +1.1

    -101.001

    +1101.0101

    +1110.00111

    -10000.101011

    +111.0000011

    -11.000101

    ให้แสดงการแทนค่าข้อมูลจ านวนจริงต่อไปนี ้ ตามมาตรฐาน IEEE 754 แบบ Single precision

  • 61

    Exercise 5 : Floating Point

    +1.101

    -11.11

    +1.1

    -101.001

    +1101.0101

    +1110.00111

    -10000.101011

    +111.0000011

    -11.000101

    ให้แสดงการแทนค่าข้อมูลจ านวนจริงต่อไปนี ้ ตามมาตรฐาน IEEE 754 แบบ Double precision

  • 62

    Exercise 6 : Integer

    ก าหนดใหใ้ชข้อ้มลูขนาด 8 บติ ในการจัดเก็บขอ้มลู ให ้แสดงการแทนคา่ขอ้มลูตวัเลขจ านวนเต็มขา้งตน้ ตามรปูแบบตา่ง ๆ ดังตอ่ไปนี ้

    Unsigned Integer

    Sign-Magnitude

    One’s Complement

    Two’s Complement

    +15 +35 +65 +68 +96

    -15 -35 -65 -68 -96

    +100 +120 +130 +255 +256

    -100 -120 -130 -255 -256