วันศุกร์ที่ 24 มกราคม พ.ศ. 2557

Floating Point 


2125 base 10 => ฐาน 16 บน 32-bit (Big-Endian)
2125 base 10 => 1000 0100 1101 base 2 => 84D base 16
ทำให้เป็น 32-bit จะได้เป็น 00 00 08 4D
-2125 base 10 => ฐาน 16 บน 32-bit (Big-Endian)
-2125 base 10 => ~(84D) + 1 => 7B3
ทำให้เป็น 32-bit จะได้เป็น 00 00 07 B3
x = 0.375 เก็บใน Bin 64
0.375 base 10 => 0.011 base 2
เขียนในรูป Scientific Notation จะได้ 1.1 * 2^-2
Sign = 0
Exponent = 1023 - 2 = 1021 = 011 1111 1101
Mantissa = 1000 0000 ... (52 bit)
จะได้เป็น
 0   011 1111 1101  1000 0000 ....
เขียนอยู่ในรูปฐาน 10 แบบ Big Endian โดยมองทีละ Byte จะได้ว่า
63 -40 0 0 0 0 0 0

ไม่มีความคิดเห็น:

แสดงความคิดเห็น