Bài tập  /  Bài đang cần trả lời

Trình bày cách biến đổi số thực. Cho ví dụ

2 trả lời
Hỏi chi tiết
1.271
1
0
Phonggg
13/09/2020 14:54:23
+5đ tặng
  • Biểu diễn số thực: 
    • Biểu diễn số thực dưới dạng dấu phẩy động:
      • Ví dụ: 13456,25 = 0.1345625 x 105
      • Dạng tổng quát: ±M x 10±K
      • Trong đó: 
        • M: Là phần định trị (0,1≤M<10,1≤M<1)
        • K: Là phần bậc (K≤0K≤0)
    • Biểu diễn số thực trong một số máy tính:
      • Ví dụ:     0,007 = 0.7 x 10-2

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập
2
0
Phonggg
13/09/2020 14:56:02
+4đ tặng
Chuyển đổi số thực sang dạng nhị phân

Ví dụ, chúng ta có số -3.56125, để chuyển sang dạng nhị phân, chúng ta làm các bước sau:

Bước 1 - Chuyển số ở phần nguyên sang hệ nhị phân

Số ở phần nguyên lúc này là 3, chuyển sang nhị phân sẽ là 11.

Bước 2 - Chuyển số ở phần lẻ sang hệ nhị phân

Số ở phần lẻ lúc này là 0.56125, để chuyển số này sang dạng nhị phân, vì số thực ở dạng IEEE có 2 độ chính xác là đơn và kép. Để chuyển sang dạng chính xác đơn, các bạn nhân số 0.56125 cho 223 (đối với độ chính xác kép là 252). Kết quả thu được là 4708106.

Sau đó, chúng ta sẽ lấy kết quả vừa tính ra được trừ lần lượt cho 222 (đối với độ chính xác kép là 252) đến 20.

  • Nếu chúng ta trừ cho 2n mà kết quả < 0 thì bỏ qua.
  • Ngược lại thì chúng ta sẽ tiếp tục thực hiện phép trừ.

Chúng ta sẽ ngừng thực hiện phép trừ khi kết quả ra bằng 0. Ví dụ:

  • 4708106 – 222 = 513802 ( kết quả > 0, tiếp tục thực hiện)
  • 4708106 – 222 – 221 = -1583350 (kết quả < 0, bỏ qua)
  • 4708106 – 222 – 220 = -534774 (kết quả < 0, bỏ qua)
  • 4708106 – 222 – 219 = -10486 (kết quả < 0, bỏ qua)
  • 4708106 – 222 – 218 = 251658 (kết quả > 0, tiếp tục thực hiện)
  • 4708106 – 222 – 218 – 217 = 120586 (kết quả > 0, tiếp tục thực hiện)

Và biểu thức thu được sau khi chúng ta thực hiện phép trừ đến 20 là:

4708106 – 222– 218– 217– 216– 215– 214– 212– 210– 29– 28– 23– 21

Từ biểu thức trên, chúng ta có thể dễ dàng viết ra được số 0.56125 ở hệ nhị phân, những bit nào nằm ở những vị trí trùng với số mũ của số 2 trong biểu thức sẽ là 1, nếu không có thì bằng 0:

222120191817161514131211109876543210
10001111101011100001010

Vậy số 0.56125 ở dạng nhị phân sẽ là 0.10001111101011100001010.
Bước 3 - Chuyển phần nguyên và phần lẻ đã được tính thành dạng IEEE 754

Sau khi đã chuyển đổi phần nguyên và phần lẻ sang hệ nhị phân, chúng ta gộp 2 phần đó lại sẽ được là:

11.10001111101011100001010

Để chuyển sang dạng IEEE, số của chúng ta phải chuyển sang dạng floating point:

1.110001111101011100001010 x 21

Phần mũ ở dạng IEEE được tính bằng cách lấy số thiên vị cộng với số mũ bình thường (ở độ chính xác đơn, số thiên vị là 127, ở độ chính xác kép, số thiên vị là 1023). Trong ví dụ của chúng ta, phần mũ ở dạng IEEE sẽ là 127 + 1 = 12810 = 100000002

Vì số của chúng ta là số âm cho nên bit dấu đầu tiên sẽ là 1. Vậy, số -3.56125 sẽ được thể hiện dưới dạng IEEE 754 là:

11000000011000111110101110000101

Trong đó:

  • 1 là bit quy định dấu.
  • 10000000 là dải bit lưu trữ phần mũ.
  • 11000111110101110000101 là dải bit lưu trữ phần phân số.

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập Tin học Lớp 10 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo