Muốn hiểu bạn phải hiểu được Scientific Notation
Thì e là phần lưu trữ exponent và m là phần mantissa.
Ở hệ 10 Scientific Notation của 1 số là m10e
Ở hệ 2 là m2e
Vd
10 thì Scientific Notation của nó là 1 * 101
2300 = 2.3 * 103
0.1 = 1 * 10-1
0.0345 = 3.45 * 10-2
…
Thì ở tren là hệ 10. Ở hệ 2 thì sao
Thì cũng tương tự ta có
4 = 1 * 22
5 = 1.25 * 22
0.25 = 1 * 2-2
0.625 = 5/8 = 1.25 * 25* 2-3 = 1.25 * 2-1
Quote trên thì ở hệ 10, 2.3 * 103. 2.3 là phần mantissa và số mũ 3 là phần exponent.
Ở hệ 2 thì lấy vd 1.25 * 22. Ta sẽ có 1.25 lưu ở mantissa (chữ m đó) và số 2 mũ lưu ở exponent (chữ e).
Vì sao phải biểu diễn bằng Scientific Notation? Vì như vậy sẽ có kết quả lớn hơn với lượng bit tương đương.
Như nếu dùng 32 bit thuần, ta chỉ biểu diễn được 2^32 giá trị ~ 4 tỷ. Nhưng với Scientific Notation thì sẽ biểu diễn được
1*(1.999999999)*(2127) ~ 3.40282367* 1038
(tối đa của mantissa là 1.999999999 ~ 2, và tối đa của e là 254 , nếu e = 256 thì số đó biểu diễn là NaN (Not a Number) or Inf nếu m = 0)
Còn vì sao chọn exponent là 8 bit thì cái này mình chờ ng khác giải đáp giúp vậy. Vì mình cũng không rõ tại sao :v