Data storage II Introduction to Computer Science (88612159)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
อสมการเชิงเส้นตัวแปรเดียว
Advertisements

หน่วยการเรียนรู้ที่ 7 ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
หน่วยที่ 3 ความคลาดเคลื่อน ความถูกต้อง ความเที่ยงตรง และความไว.
บทที่ 6 บทที่ 6 คำสั่งแก้ไขปัญหาแบบ เลือก (CONDITION)
ชื่อผู้สอน : นางฐิติมา พิริยะ
การจัดการองค์ความรู้ ( KM )
คณิตศาสตร์พื้นฐาน ค ชั้นมัธยมศึกษาปีที่ 3 โดย ครูชำนาญ ยันต์ทอง
คณิตศาสตร์พื้นฐาน ค ชั้นมัธยมศึกษาปีที่ 3 โดย ครูชำนาญ ยันต์ทอง
หน่วยการเรียนรู้ที่ 7 ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
สื่อการสอนด้วยโปรมแกรม “Microsoft Multipoint”
Chapter 10 Arrays Dept of Computer Engineering Khon Kaen University.
Introduction to Computer Organization and Architecture
1 Introduction to Number System วรวิทย์ พูลสวัสดิ์
รูปร่างของเครือข่ายคอมพิวเตอร์
หน่วยการเรียนรู้ที่ 7 ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
การทดลองในวิชาฟิสิกส์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
ตัวแปร และชนิด ข้อมูล. ตัวแปร การกำหนดตัวแปรเป็นการใช้ ชื่อตัวแปรแทน ตำแหน่งบนหน่วยความจำ สำหรับเก็บ ข้อมูลระหว่างการ ประมวลผล ซึ่งอาจเป็นข้อมูลนำเข้า.
MEE 231 Computer Programming สัปดาห์ที่ 6 ภาษา C หลักการของโปรแกรม ชนิดของตัวแปร การดำเนินการ คำสั่งการรับค่าตัวแปร และการแสดงผล.
แบบทดสอบ MICROSOFT EXCEL มีข้อมูลในแผ่นงานตั้งแต่แถวที่ 1 ถึงแถว 500 และคอลัมน์ A จนถึงคอลัมน์ M วิธีการเลือกช่วง ข้อมูลวิธีใด อย่างไร ที่อำนวยความสะดวกได้ดีและให้ผลรวดเร็ว.
การจัดเก็บข้อมูลในแฟ้มข้อมูลธรรมดา นั้น อาจจำเป็นที่ใช้แต่ละคน จะต้องมีแฟ้มข้อมูลของตนไว้เป็นส่วนตัว จึง อาจเป็นเหตุให้มีการเก็บข้อมูล ชนิดเดียวกันไว้หลาย.
การเลือกข้อมูลจาก List การกำหนดเงื่อนไขการป้อนข้อมูลด้วย Data Validation การใส่ Comment / แสดง / แก้ไข / ลบ.
MTH 261 File Management. File Management File Management จะอธิบายเกี่ยวกับการเขียน ส่วนจัดการแฟ้มข้อมูล เราสามารถที่จะเขียน โปรแกรมเพื่อเรียกใช้แฟ้มข้อมูลที่เรามี
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
คำสั่งควบคุมการทำงาน
สมบัติของเลขยกกำลัง จัดทำโดย นางเพ็ญประภา รัตนะเดชะ.
เรื่อง กระบวนการเทคโนโลยีสารสนเทศ
การตรวจสอบคุณภาพเครื่องมือ
เกม คณิตคิดเร็ว.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
IP-Addressing and Subneting
Number system (Review)
IP-Addressing and Subneting
การประยุกต์ Logic Gates ภาค 2
สมการเชิงเส้น (Linear equation)
แล้วทำการเรียงลำดับข้อมูลใหม่โดยเรียงจากน้อยไปหามาก
BC320 Introduction to Computer Programming
ดิจิตอล + เลขฐาน บทที่ 2.
DC Voltmeter.
โครงสร้างภาษา C Arduino
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
เซต (SET) ประวัติย่อของวิชาเซต ความหมายของเซต การเขียนแทนเซต
บทที่ 8 การควบคุมโครงการ
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
ชื่อผลงานวิจัย การพัฒนาความสามารถด้านการพูดนำเสนอโปรแกรมท่องเที่ยวโดยใช้การสอนแบบบทบาทสมมุติ วิชาการตลาดเพื่อการท่องเที่ยวของนักศึกษาระดับประกาศนียบัตรชั้นปีที่
กำหนดกรอบระยะเวลาการขึ้นทะเบียนปี2556/57 1. ข้าว
ข้อมูลและสารสนเทศ.
Data storage II Introduction to Computer Science ( )
Binary Numbers Hexadecimal Numbers
การวิเคราะห์ฟอลต์แบบไม่สมมาตร Unsymmetrical Fault Analysis
บทที่ 9 การทำซ้ำ (Loop).
Week 5 C Programming.
2. ประโยคเงื่อนไข ข้อความที่ประกอบด้วย 2 ข้อความที่เชื่อมต่อกันด้วย ถ้า... แล้ว... เรียกข้อความในลักษณะเช่นนี้ว่า ประโยคเงื่อนไข - เรียกข้อความที่ตามหลัง.
ผู้สอน ครูวัชระ วงษ์ดี
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
บทที่ 7 การประมวลผลอาร์เรย์
การเปลี่ยนแปลงประมาณการทางบัญชี และข้อผิดพลาด
OPERATOR ภาษาปาสคาล (Pascal)
ค่ารูรับแสง - F/Stop ค่ารูรับแสงที่มีค่าตัวเลขต่ำใกล้เคียง 1 มากเท่าไหร่ ค่าของรูรับแสงนั้นก็ยิ่งมีความกว้างมาก เพราะเราเปรียบเทียบค่าความสว่างที่ 1:1.
ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
2 โครงสร้างข้อมูลแบบสแตก (STACK).
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
Chapter 3 : Array.
ฟังก์ชันของโปรแกรม Computer Game Programming
บทที่ 5 พัลส์เทคนิค
Decision: Single and Double Selection (if and if-else statement)
กระดาษทำการ (หลักการและภาคปฏิบัติ)
Computer Game Programming
ความหมายและสมบัติของลอการิทึม
ใบสำเนางานนำเสนอ:

Data storage II Introduction to Computer Science (88612159)

การแทนนข้อมูลด้วยเลขฐานสองในรูปแบบต่างๆ 1. จำนวน 1.1 จำนวนเต็ม จำนวนธรรมชาติ N (unsigned = ไม่ มีเครื่องหมาย) จำนวนเต็ม Z (signed = มี เครื่องหมาย) 1.2 จำนวนจริง R 2. ตัวอักขระ (character) 3. ภาพ 4. เสียง

จุดประสงค์การเรียนรู้ การจัดเก็บจำนวนเต็มในระบบ Excess- n Notation การจัดเก็บจำนวนจริงในระบบ Floating Point Number

การจัดเก็บจำนวนเต็มในระบบ Excess-n Notation

การจัดเก็บจำนวนเต็มในระบบ Excess-n Notation ใช้จำนวนบิตคงที่ เริ่มต้นด้วยการกำหนดจำนวนบิตที่ ต้องการ เรียกว่า Excess-n Notation (ระบบ ส่วนเกิน n) n = 2จำนวนบิต-1

พิสัยของ Excess-n Notation Excess-n Notation (ระบบส่วนเกิน n) n = 2จำนวนบิต-1 พิสัยแบบมีเครื่องหมายคือ -2 จำนวนบิต -1 ถึง 2 จำนวนบิต -1 -1 ตัวอย่าง พิสัยของ Excess-4 Notation คือ พิสัยของ Excess-32 Notation คือ

การจัดเก็บจำนวนเต็มในระบบ Excess-n Notation การแทนจำนวนเต็มในระบบส่วนเกิน n (Excess-n Notation) เขียนรูปแบบของบิตโดยเริ่มต้นจากศูนย์ และเพิ่มค่าทีละหนึ่งจนถึงค่าสูงสุด รูปแบบของบิตที่มีนัยสำคัญสูงสุด เป็น 0 ใช้แทนจำนวนลบ เป็น 1 ใช้แทนจำนวนบวก

ระบบ Excess-4 Notation ตัวอย่างที่ 1 ระบบ Excess-4 Notation จำนวนบิต คือ 3 พิสัยอยู่ในช่วง -4 ถึง 3

ระบบ Excess-4 Notation หากนำค่าฐานสิบระบบ Excess-4 บวก ด้วยค่าคงที่ 4 จะได้ค่าฐานสิบในระบบ เลขฐานสอง จึงเรียกว่าระบบส่วนเกิน 4

ระบบ Excess-8 Notation ตัวอย่างที่ 2 ระบบ Excess-8 Notation จำนวนบิต คือ 4 พิสัยอยู่ในช่วง -8 ถึง 7

ระบบ Excess-8 Notation หากนำค่าฐานสิบระบบ Excess-8 บวก ด้วยค่าคงที่ 8 จะได้ค่าฐานสิบในระบบ เลขฐานสอง จึงเรียกว่าระบบส่วนเกิน 8

ในระบบ Excess-n notation การแปลงเลขฐานสอง ในระบบ Excess-n notation เป็นเลขฐานสิบ

Excess-4 notation (ฐานสองเป็นฐานสิบ) ค่าฐานสิบ (ระบบฐานสอง) – 4 จงแปลง 1102 (Excess-4 notation) เป็นฐาน สิบ หาได้จาก 6 - 4 = 2 ดังนั้น 1102 (Excess-4 notation) = 210 ตัวอย่าง 1112 (Excess-4 notation) = ?10 0012 (Excess-4 notation) = ?10 1012 (Excess-4 notation) = ?10

Excess-8 notation (ฐานสองเป็นฐานสิบ) ค่าฐานสิบ (ระบบฐานสอง)– 8 จงแปลง 11012 (Excess-8 notation) เป็น ฐานสิบ หาได้จาก 13 - 8 = 5 ดังนั้น 11012 (Excess-8 notation) = 510 ตัวอย่าง 01112 (Excess-8 notation) เป็นฐานสิบ 10112 (Excess-8 notation) เป็นฐานสิบ 10002 (Excess-8 notation) เป็นฐานสิบ

Excess-16 notation (ฐานสองเป็นฐานสิบ) ค่าฐานสิบ (ระบบฐานสอง) – 16 จงแปลง 110012 (Excess-16 notation) เป็นฐาน สิบ หาได้จาก 25 - 16 = 9 ดังนั้น 110012 (Excess-16 notation) = 910 ตัวอย่าง 010112 (Excess-16 notation) เป็นฐานสิบ 101012 (Excess-16 notation) เป็นฐานสิบ 100002 (Excess-16 notation) เป็นฐานสิบ

Excess-n notation (ฐานสองเป็นฐานสิบ)

เป็นเลขฐานสองในระบบ Excess-n notation การแปลงเลขฐานสิบ เป็นเลขฐานสองในระบบ Excess-n notation

Excess-4 notation (ฐานสิบเป็นฐานสอง) ค่าฐานสิบ + 4 แล้วแปลงเป็นฐานสอง จงแปลง 210 เป็นฐานสอง (Excess-4 notation) ตัวอย่าง 310 เป็นฐานสอง (Excess-4 notation) -310 เป็นฐานสอง (Excess-4 notation) 110 เป็นฐานสอง (Excess-4 notation)

Excess-8 notation (ฐานสิบเป็นฐานสอง) หาได้จาก ค่าฐานสิบ + 8 แล้วแปลงเป็นฐานสอง จงแปลง 510 เป็นฐานสอง (Excess-8 notation) ตัวอย่าง -110 เป็นฐานสอง (Excess-8 notation) 310 เป็นฐานสอง (Excess-8 notation) 010 เป็นฐานสอง (Excess-8 notation)

Excess-16 notation (ฐานสิบเป็นฐานสอง) ค่าฐานสิบ + 16 แล้วแปลงเป็นฐานสอง จงแปลง 910 เป็นฐานสอง (Excess-16 notation) ตัวอย่าง -510 เป็นฐานสอง (Excess-16 notation) 1310 เป็นฐานสอง (Excess-16 notation) 010 เป็นฐานสอง (Excess-16 notation)

Excess-n notation (ฐานสิบเป็นฐานสอง)

การจัดเก็บจำนวนจริงในระบบ Floating point number

จำนวนจริงในระบบ Floating point number ในปัจจุบันเครื่องคอมพิวเตอร์ส่วนใหญ่ จัดเก็บจำนวนจริงตามมาตรฐาน IEEE 754 ข้อมูลชนิด single precision เช่น ข้อมูล ชนิด float (32 บิต) ข้อมูลชนิด double precision เช่น ข้อมูล ชนิด double (64 บิต) ใช้เรียนมีขนาด 8 บิต เรียกว่า Microfloat ใช้เป็นตัวอย่างในการศึกษาเท่านั้น เพื่อให้ เข้าใจได้ง่ายไม่มีมาตรฐานใดๆรองรับ

จำนวนจริงในระบบ Floating point number ใช้หลักการเดียวกับตัวเลขทางวิทยาศาสตร์ (Science notation) มาตรฐาน (Normal form) ในการเขียนจะมี ตัวเลขหน้าจุด 1 ตัวและต้องไม่ใช่ศูนย์ เช่น 1.0 x 103 6.0235 x 1023 1.2 x 10-6 -3.45 x 102

จำนวนจริงในระบบ Floating point number สิ่งที่ควรจัดเก็บในคอมพิวเตอร์คือ เลขยก กำลัง และ ตัวเลขด้านหน้า เช่น 6.45 x 103 เลขยกกำลังคือ 3 เรียกว่า exponent ตัวเลขด้านหน้า คือ 6.45 เรียกว่า significand หรือ mantissa

จำนวนจริงในระบบ Floating point number Exponent (เลขยกกำลัง) เป็นได้ทั้ง บวกและลบ Significand (ตัวเลขด้านหน้า) เป็นได้ทั้งบวกและลบ

รูปแบบการจัดเก็บ Floating point number Sign bit (บิตเครื่องหมาย) 0 แทนจำนวนบวก 1 แทนจำนวนลบ Biased exponent (กำลังในระบบ Excess-n Notation) Significand

Biased exponent Biased exponent หรือเลขยกกำลัง เป็นจำนวนเต็ม ชนิดมีเครื่องหมาย (สามารถ เป็นได้ทั้งบวกและลบ) จะใช้วิธีการแทนด้วยระบบ Excess-n Notation ตัวอย่าง เลขฐานสอง (excess-4 notation) เริ่มจาก จำนวนลบที่น้อยที่สุด คือ 000 เพิ่มขึ้นทีละหนึ่งเรื่อยๆจนถึงจำนวนบวกมาก ที่สุด แต่เลขฐานสอง (2’complement) การ ปรับค่าระหว่างจำนวนลบและจำนวนบวกนั่น ทำได้ยาก ดังนั้นเลขยกกำลัง (exponent) จึงใช้ ระบบ Excess-n Notation ในการแทน เรียกว่า Biased exponent

Biased exponent

Microfloat ข้อมูลชนิด Microfloat คือจำนวนจริงที่จัดเก็บด้วย ระบบ Floating point number ที่ใช้ในการศึกษา ซึ่ง มีขนาด 8 บิต ตัวอย่าง 01101011 บิตที่มีนัยสำคัญสูงสุดเป็น 0 แสดงว่าเป็นจำนวน บวก Biased exponent เป็น 110 Significand เป็น 1011

การแปลงจำนวนจริงฐานสิบ เป็นจำนวนจริงฐานสอง (Microfloat)

ตัวอย่างที่ 1 จงแปลง 4.510 เป็นจำนวนจริงฐานสอง (Microfloat) ขั้นตอนที่ 1 แปลงจำนวนจริงฐานสิบเป็น จำนวนจริงสอง 410 = 1002 0.510 แปลงเป็นฐานสองได้ .5 x 2 = 1.00 เก็บ 1 .0 x 2 = 0.00 หยุด เรียงผลคูณหน้าจุดจากบนลงล่าง จะ ได้ 0.510 = 0.12 ดังนั้น 4.510 = 100.12

ตัวอย่างที่ 1 ขั้นตอนที่ 2 จัดให้อยู่ในรูป normal form โดยตัวเลขหลังจุดตัวแรกต้องเป็น 1 และ ไม่มีเลขตัวหน้าจุด (เลขหน้าจุดเป็นศูนย์) จาก 100.1 10.01 x 21 1.001 x 22 .1001 x 23 เป็น normal form แล้ว ดังนั้น significand คือ 1001 exponent คือ 3

ตัวอย่างที่ 1 ขั้นตอนที่ 3 แปลง exponent เป็น biased exponent (excess-4 notation) exponent คือ 310 แปลง เป็น biased exponent โดย 3 + 4 = 7 และ 710 = 1112 ดั้งนั้น biased exponent คือ 1112

ตัวอย่างที่ 1 สรุป เนื่องจาก 4.510 เป็นจำนวนบวก ฉะนั้นบิต เครื่องหมายคือ 0 biased exponent คือ 111 significand คือ 1001 ดังนั้น 4.510 = 011110012 (Microfloat)

ตัวอย่างที่ 2 จงแปลง 0.7510 เป็นจำนวนจริงฐานสอง (Microfloat) ขั้นตอนที่ 1 แปลงจำนวนจริงฐานสิบเป็น จำนวนจริงสอง

ตัวอย่างที่ 2 ขั้นตอนที่ 2 จัดให้อยู่ในรูป normal form โดยตัวเลขหลังจุดตัวแรกต้องเป็น 1 และ ไม่มีเลขตัวหน้า (หน้าจุดเป็นศูนย์)

ตัวอย่างที่ 2 ขั้นตอนที่ 3 แปลง exponent เป็น biased exponent (excess-4 notation)

ตัวอย่างที่ 2 สรุป เนื่องจาก 0.7510 เป็นจำนวนบวก บิต เครื่องหมายคือ biased exponent คือ significand คือ ดังนั้น 0.7510 =

ตัวอย่างที่ 3 จงแปลง -3.2510 เป็นจำนวนจริงฐานสอง (Microfloat) ขั้นตอนที่ 1 แปลงจำนวนจริงฐานสิบเป็นจำนวนจริง สอง

ตัวอย่างที่ 3 ขั้นตอนที่ 2 จัดให้อยู่ในรูป normal form โดยตัวเลขหลังจุดตัวแรกต้องเป็น 1 และ ไม่มีเลขตัวหน้า (หน้าจุดเป็นศูนย์)

ตัวอย่างที่ 3 ขั้นตอนที่ 3 แปลง exponent เป็น biased exponent (excess-4 notation)

ตัวอย่างที่ 3 สรุป เนื่องจาก -3.2510 เป็นจำนวนลบ บิต เครื่องหมายคือ biased exponent คือ significand คือ ดังนั้น -3.2510 =

ตัวอย่างที่ 4 จงแปลง -0.37510 เป็นจำนวนจริงฐานสอง (Microfloat) ขั้นตอนที่ 1 แปลงจำนวนจริงฐานสิบเป็นจำนวนจริง สอง

ตัวอย่างที่ 4 ขั้นตอนที่ 2 จัดให้อยู่ในรูป normal form โดยตัวเลขหลังจุดตัวแรกต้องเป็น 1 และ ไม่มีเลขตัวหน้า (หน้าจุดเป็นศูนย์)

ตัวอย่างที่ 4 ขั้นตอนที่ 3 แปลง exponent เป็น biased exponent (excess-4 notation)

ตัวอย่างที่ 4 สรุป เนื่องจาก -0.37510 เป็นจำนวนลบ บิต เครื่องหมายคือ biased exponent คือ significand คือ ดังนั้น -0.37510 =

ตัวอย่างที่ 5 จงแปลง -0.5410 เป็นจำนวนจริงฐานสอง (Microfloat) ขั้นตอนที่ 1 แปลงจำนวนจริงฐานสิบเป็นจำนวนจริง สอง

ตัวอย่างที่ 5 ขั้นตอนที่ 2 จัดให้อยู่ในรูป normal form โดยตัวเลขหลังจุดตัวแรกต้องเป็น 1 และ ไม่มีเลขตัวหน้า (หน้าจุดเป็นศูนย์)

ตัวอย่างที่ 5 ขั้นตอนที่ 3 แปลง exponent เป็น biased exponent (excess-4 notation)

ตัวอย่างที่ 5 สรุป เนื่องจาก -0.5410 เป็นจำนวนลบ บิต เครื่องหมายคือ biased exponent คือ significand คือ ดังนั้น -0.5410 =

การแปลงจำนวนจริงฐานสอง (Microfloat ) เป็น จำนวนจริงฐานสิบ

ตัวอย่างที่ 1 จงแปลง 011110012 (Microfloat) เป็น จำนวนจริงฐานสิบ ขั้นตอนที่ 1 แยกองค์ประกอบ บิตเครื่องหมายเป็น 0 แสดงว่าเป็น จำนวนบวก biased exponent คือ 1112 significand คือ 10012

ตัวอย่างที่ 1 ขั้นตอนที่ 2 Biased exponent exponent = biased exponent – 4 exponent = 7 - 4 exponent = 3 ดังนั้น exponent คือ 310

ตัวอย่างที่ 1 ขั้นตอนที่ 3 Significand Significand คือ 10012 .1001 x 23 1.001 x 22 10.01 x 21 100.1 x 20 << หยุด จำนวนจริงฐานสอง คือ 100.12

ตัวอย่างที่ 1 ขั้นตอนที่ 4 แปลงจำนวนจริงฐานสอง เป็นจำนวนจริงฐานสิบ 100.12 จำนวนจริงฐาน10 ค่าหน้าจุด 1002 = 410 ค่าหลังจุด 1 x 0.5 = 0.510 ดังนั้น 011110012 (Microfloat) = 4.510

ตัวอย่างที่ 2 จงแปลง 101111002 (Microfloat) เป็น จำนวนจริงฐานสิบ ขั้นตอนที่ 1 แยกองค์ประกอบ บิตเครื่องหมาย biased exponent คือ significand คือ

ตัวอย่างที่ 2 ขั้นตอนที่ 2 Biased exponent

ตัวอย่างที่ 2 ขั้นตอนที่ 3 Significand

ตัวอย่างที่ 2 ขั้นตอนที่ 4 แปลงจำนวนจริงฐานสอง เป็นจำนวนจริงฐานสิบ

ตัวอย่างที่ 3 จงแปลง 001011002 (Microfloat) เป็น จำนวนจริงฐานสิบ ขั้นตอนที่ 1 แยกองค์ประกอบ

ตัวอย่างที่ 3 ขั้นตอนที่ 2 Biased exponent

ตัวอย่างที่ 3 ขั้นตอนที่ 3 significand

ตัวอย่างที่ 3 ขั้นตอนที่ 4 แปลงจำนวนจริงฐานสองเป็นจำนวนจริง ฐานสิบ

ตัวอย่างที่ 4 จงแปลง 110010002 (Microfloat) เป็น จำนวนจริงฐานสิบ ขั้นตอนที่ 1 แยกองค์ประกอบ

ตัวอย่างที่ 4 ขั้นตอนที่ 2 Biased exponent

ตัวอย่างที่ 4 ขั้นตอนที่ 3 significand

ตัวอย่างที่ 4 ขั้นตอนที่ 4 แปลงจำนวนจริงฐานสองเป็นจำนวนจริง ฐานสิบ

FLOAT ข้อมูลชนิด float ในภาษา JAVA มี ขนาด 32 บิต บิตเครื่องหมาย 1 บิต Biased exponent 8 บิต (excess 128 notation) Significand 23 บิต

Double ข้อมูลชนิด double ในภาษา JAVA มี ขนาด 64 บิต บิตเครื่องหมาย 1 บิต Biased exponent 11 บิต (excess 1024 notation) Significand 52 บิต

ปัญหาของ floating point number

Truncation error ความผิดพลาดที่เกิดจากการตัดจำนวนบิต ส่วนเกิน ตัวอย่าง 2.625 1. แปลงเป็นจำนวนจริงฐานสอง ได้ 10.101 2. จัดให้อยู่ในรูป normal form ได้ 0.10101 x 22 3. exponent คือ 2+4 = 6, biased exponent 610 = 1102 4. ดังนั้น 2.625 = 011010102(floating point)

Truncation error เมื่อแปลง 011010102(floating point) เป็นจำนวนจริง ฐานสิบ 1. Sign bit = 0, biased exponent = 110, significant = 1010 2. biased exponent 110 = 6, exponent = 6-4 = 2 3. จาก 0.1010 x 22 จะได้ 10.10 x 20 4. 10.102 = 2.510 ****จะเห็นว่าค่าที่ได้ไม่เท่ากับค่าเดิม

Truncation error ทำให้เกิดปัญหากับการคำนวณเลขใน ระบบ floating point ขนาด 8 บิต เช่น 2.50 + 0.125 + 0.125 2.50 + 0.125 = 2.625 แต่จัดเก็บได้แค่ 2.5 เมื่อนำ 2.5 + 0.125 = 2.625 ก็จะเกิดปัญหาเช่นเดิม คือ เก็บได้แค่ 2.5

Truncation error จากตัวอย่างเดิม 2.50 + 0.125 + 0.125 หากบวก 0.125 + 0.125 ก่อน จะได้ 0.25 เมื่อแปลงเป็นจำนวนจริงฐานสองได้ 0.01 ซึ่งสามารถจัดเก็บในระบบ floating point 8 บิตได้ คือ 01011000 จากนั้นนำ 0.25 + 2.50 จะได้ 2.75 เมื่อแปลงเป็นจำนวนจริงฐานสองได้ 10.11 ซึ่งสามารถจัดเก็บในระบบ floating point 8 บิตได้ คือ 01101011

Truncation error ดังนั้นในกรณีที่ต้องการความแม่นยำสูงใน การคำนวณตัวเลขในระบบ floating point ควรดำเนินการบวกค่าที่มีจำนวนน้อยเข้า กันก่อน จากนั้นจึงค่อยนำไปรวมเข้ากับ จำนวนขนาดใหญ่ ทำให้ช่วยลดความผิดพลาดในการคำนวณ ลงได้

การเท่ากันของ floating point number ถ้าประกาศตัวแปร double x, y; if(x==y) โอกาสที่เงื่อนไขจะเป็นจริง น้อย เนื่องจากทั้ง 64 บิตจะต้อง เหมือนกันทุกบิต เพราะฉะนั้นในการเปรียบเทียบ เรา ต้องกำหนดให้ x กับ y ต่างกันแค่ไหนที่ เราจะยอมรับให้เป็นตัวเดียวกัน if(Math.abs(x-y) < 0.0001) ถือว่า เท่ากันแล้ว ขึ้นอยู่กับงานของเราว่า ต้องการมากน้อยแค่ไหน