Các bác đổi thử giúp em số 115,5 theo dạng chuẩn IEEE 754 với độ chính xác đơn với. Cho em cả quá trình làm nhớ. Đừng đưa ra kq luôn. Thanks !!
Các bác đổi thử giúp em số 115,5 theo dạng chuẩn IEEE 754 với độ chính xác đơn với. Cho em cả quá trình làm nhớ. Đừng đưa ra kq luôn. Thanks !!
Không hiểu ý chú là đổi trên C++ (cho máy làm) hay tự đổi (người làm)
Nếu là do người làm:
Đầu tiên đổi 115,5 sang nhị phân = 1110011.1 x 2 ^ 0
Sau đó dịch dấu phẩy sang trái, mỗi lần dịch thì tăng k trong 2 ^ (k) lên 1 lần cho đến đúng chuẩn IEEE 754 thì thôi.
Đầu tiên đổi 115,5 sang nhị phân (phần nguyên thì chia liên tiếp cho 2 lấy số dư, phần phân thì nhân liên tiếp cho 2 lấy phần nguyên) ta được 1110011,1
Sau đó dịch dấu phẩy sang bên trái ta được 1,1100111 x 2^6
Số dương => bit dấu = 0
E = e - 127 = 6 => e = 127 + 6 = 133 => chuyển sang nhị phân 1000 0101
Vậy kết quả là: 0100 0010 1110 0111 0000 0000 0000 0000
kết quả và cách làm như bác brits là chuẩn roài. tớ bổ sung thêm:
IEEE-754 độ chính xác đơn dùng 32bit để biểu diễn,(độ chính xác kép dùng 64bit). Trong đó bit đầu là bit dấu, 8bit tiếp theo biểu diễn phần exponent, 23 bit còn lại biển diễn phần mantissa "chuẩn hóa". để biểu diễn 1 số thì bắt buộc phải để ở dạng 1.(mantissa) x 2^(exponent). cái "1." đằng trước ko xuất hiện trong số sau khi biểu diễn, mà chỉ biểu diễn phần sau dấu "chấm" => mantissa "chuẩn hóa". Quy trình làm như của brits!
0 10000101 11001110000000000000000
Xác định dãy byte biểu diễn số thực X=2.5 ở dạng chấm động IEEE độ chính xác đơn.
Mình vẫn chưa hiểu. Bạn có thể ví dụ cho mình bài này thử xem. Thanks bạn nhiều
2^6
Số 2 là hệ 2, số 10 là hệ 10
Mỗi lần dịch chuyển dấu phẩy sang trái thì bạn cộng số mũ lên 1
Bookmarks