Nghe tí nhạc cho đỡ buồn nhé mọi người

Thông Báo

News Cập nhật bài
- - - - - - - - - - - - -
ღ Khi một thứ phát triển đến cực đại nó sẽ mang hình hài của cái đối nghịch
-Theza-
ღ==============ღ
◕ Lời nhắn
⊱ Mình học Bách Khoa nên ai đó ghét Bách Khoa thì có thể lặng lẽ đi ra
⊱ Mình là dân Thanh Hóa nên ai đó ghét Thanh Hóa cũng có thể lặng lẽ rời đi
⊱ Mình học cơ khí, trang này chỉ làm ra theo sở thích nên nếu thấy không hài lòng có thể nhẹ nhàng tắt trang..
◕ Dịch vụ: Nhận thiết kế Form mẫu Excel, Google Sheets:
⊱ Hỗ trợ quản lý, chiết xuất dữ liệu; Tạo bảng báo cáo, thống kê nhanh;
⊱ Tạo hệ thống thiết lập và quản lý tiến độ công việc một cách trực quan;
⊱ Tư vấn, xử lý mọi vấn đề hóc búa, nan giải nhất khi sử dụng googleSheets.

◕ Trang web hiện đặt một số quảng cáo, mong các bạn thông cảm!
1 Góc học tập2 Tin học đại cương
Chuẩn IEEE 754/85 (Quy đổi xuôi, ngược Online)
✪Là chuẩn mã hóa số dấu chấm động
✪Cơ số R = 2
✪Có các dạng cơ bản:
● Dạng có độ chính xác đơn, 32-bit
1 bit dấu s|8 bit mã lệch e|23 bit phần lẻ m
● Dạng có độ chính xác kép, 64-bit
1 bit dấu s|11 bit mã lệch e|52 bit phần lẻ m
● Dạng có độ chính xác kép mở rộng, 80-bit
1 bit dấu s|15 bit mã lệch e|64 bit phần lẻ m

✪Xác định:
Bit dấu s (sign):
s=0 biểu thị số dương
s=1 biểu thị số âm
Mã lệch e (excess) của phần mũ E (Exponent):
E = e – b
Trong đó b là độ lệch (bias):
Dạng 32-bit : b = 127, hay E = e - 127
Dạng 64-bit : b = 1023, hay E = e - 1023
Dạng 80-bit : b = 16383, hay E = e - 16383
Phần lẻ m của phần định trị M:
M = 1.m
(Ví dụ trong tin học 1,77611176 ghi là 1.77611176 nên bạn hiểu 1.m1,m.
Ở đây dấu nhân tôi sẽ kí hiệu là "x")

✪Công thức xác định giá trị của số thực X tương ứng là:
X=(-1)s x 1.m x 2e-b

Hướng dẫn chuyển đổi xuôi và ngược:
Tôi chỉ làm ví dụ và hướng dẫn với dạng chính xác đơn 32 bit:
● Công thức:
X=(-1)s x 1.m x 2e-127


● Chuyển từ dạng biểu diễn nhị phân theo chuẩn IEEE 754/85 về số thực X
Nhập số dưới dạng chuẩn IEEE 754/85 chính xác đơn (32 bit):
Ví dụ:
(Bạn có thể nhập số khác để xem lời giải)
(Mặc định các kí tự khác 1 sẽ được chương trình đưa về 0)
Mã vừa nhập:
11000001010101100000000000000000
Thao tác tính toán:
_Dấu của X: Bit dấu s=1 => X là số âm
_Phần mũ E : mã lệch e=100000102=13010
=> E=e-127=130-127=3
_Phần định trị M=1.m=1.1010112=1.67187510
Ta có: 1.m x 2e-127
= 1.671875 x 23
= 13.375
(Ở đây ta đổi phần định trị 1.m từ hệ nhị phân về thập phân.
Sau đó nhân với 2e-127 để nhận được giá trị thực của X.
Hoặc ta có thể để nguyên phần định trị 1.m ở hệ nhị phân rồi nhân với 10e-127. Sau đó mới chuyển kết quả thu được về hệ thập phân để thu được giá trị thực của X)

Vì X là số âm. Nên giá trị số thực X = -13.375


Ta thấy với cách biểu diễn này không bao giờ cho giá trị bằng 0,vì thế, có một số trường hợp phải quy ước:
_Nếu tất cả các bit của em đều bằng 0 thì X = 0
_Nếu tất cả các bit của e bằng 1 và m bằng 0 thì X = ±∞
_Nếu tất cả các bit của e bằng 1 và ít nhất 1 bit của m bằng 1, thì số thực X không tồn tại.
Với Ví dụ trên, theo quy ước: X = -13.375


● Chuyển từ số thực X về dạng biểu diễn nhị phân theo chuẩn IEEE 754/85
Nhập số thực X:
Ví dụ:
(Bạn có thể nhập số thực khác để xem lời giải)

Số bạn vừa nhập -13.375:
_Là số âm=> s = 1
_Phần nguyên 1310=11012
Phần thập phân 0.37510=0.0112
=> 13.37510=1101.011=1.101011x103=1.101011x23
(10 ở hệ nhị phân bằng 2 ở hệ thập phân nên ví dụ 1032=2310)
+Phần mũ E = 3 => e=E+127= 13010= 100000102
+Phần định trị m = 10101100000000000000000
Số thực X vừa nhập chuyển về dạng chuẩn IEEE 754/85 là:
11000001010101100000000000000000


Hướng dẫn làm bài tập dạng chính xác đơn:
Chuyển từ số thực X về chuẩn IEEE:
_Bit dấu s: X âm thì s=1 ; X dương thì s=0
_Mã lệch e và phần định trị m:
Ví dụ 14.625 thì phần nguyên là 14, phần thập phân là 0.625
Đổi số thực X về hệ nhị phân
14.62510=1110.1012
Đưa phần nhị phân về dạng 1.m x 2e-127
1110.101=1.110101 x 23=1.110101 x 2130-127
+Mã lệch e=13010=100000102
(Nhớ là e phải đủ 8 bit, nếu đổi về cơ số 2 ko đủ 8 bit thì ta thêm 0 vào bên trái đến khi đủ thì thôi
Và một điều nữa là nếu đề chỉ hỏi giá trị mã lệch e thì với X>1 ta chỉ cần đổi phần nguyên về nhị phân là đã có thể tìm được e)

+Phần lẻ m: Phần lẻ m chính là phần sau dấu phẩy m=110101
Cần phải đủ 23 bit nên ta thêm số 0 vào bên phải m cho đủ
m=11010100000000000000000

Chuyển từ chuẩn IEEE về số thực X:
_Chia rõ 3 phần bít dấu, mã lệch e, phần lẻ m
+Nếu đề cho dưới dạng 32 bit nhị phân thì ta chỉ việc chia nó thành 3 phần (1 bit dấu, 8 bit mã lệch, 23 bit phần lẻ)
Ví dụ: 00111111011000000000000000000000
chia 3 phần: 0 | 01111110 | 11000000000000000000000
+Nếu đề cho dưới dạng 8 chữ số ở hệ Hexa thì ta phải đổi nó về nhị phân rồi mới chia làm 3 phần.
(Nhớ phải đủ 32 bit)
Ví dụ: 3F60000016=001111110110000000000000000000002
chia 3 phần: 0 | 01111110 | 11000000000000000000000
_Đổi phần mã lệch e về hệ thập phân: 011111102=12610
_Xác định phần định trị M=1.m: M=1.11000000000000000000000=1.11
_Thay giá trị vào công thức X=(-1)s x 1.m x 2e-127
X=(-1)0 x 1.11 x 2126-127=1.11 x 2-1=0.111
_Đổi giá trị tính được về hệ thập phân X=0.1112=0.87510
Bình luận
Đăng nhập để bình luận
Tải thêm bình luận

Phòng Chat tổng