Floating Point
-0.0125 เก็บใน Bin 16 บนคอมพิวเตอร์ 32 bit ชนิด Little-Endian ก่อนการปัดเศษ 13 bit
(0.0125)10 แปลงเป็นฐาน 16ได้
0.0125* 2 = 0.2
0.2 * 16 = 3.2
0.2 * 16 = 3.2
0.2 * 16 = 3.2
0.2 * 16 = 3.2
(0.0125)10 => (0333)16 => (0000 0011 0011 0011)2
เลื่อนจุด
(0.0125)10 = 1.1001100110011 x 2 ยกกำลัง -7
Sign = 1
Biased Exponent = 15 - 7 = (8)10 = (0 1000)2
Mantissa = 1001 1001 1001 1 (ไม่เก็บ 1) คิดเสมือนว่าเป็น 1001 1001 10.01 1
Mantissa เก็บแค่ 10 bit ต้องปัดเศษทิ้ง
การปัดเศษทั้ง 5 แบบ
1.Round to ward 0 => 1001 1001 10
2.Round to ward +infinity => 1001 1001 10
3.Round to ward -infinity => 1001 1001 11
4.Round to nearest,tie away from 0 => 1001 1001 10
5.Round to nearest,tie away from even => 1001 1001 10
ยกตัวอย่างรูปแบบการเก็บ จัดการปัดเศษแบบ Round to word 0
| 1 | 0 1000 | 1001 1001 11|
จัดเก็บแบ่งเป็น 4 bit ฐาน 16 ได้ 1010 0010 0110 0110 => A2 66
จัดเก็บ 32-bit 00 00 A2 66
จัดเก็บ 32-bit รูปแบบ Little-Endian 66 A2 00 00
ไม่มีความคิดเห็น:
แสดงความคิดเห็น