Bài viết Từ Floating Point Number Là Gì, một vài Dấu Phẩy Động Bất Thường Là Gì thuộc chủ đề về Câu Hỏi- Giải Đáp đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng herphangout.com tìm hiểu Từ Floating Point Number Là Gì, một vài Dấu Phẩy Động Bất Thường Là Gì trong bài viết hôm nay nha !Các bạn đang xem nội dung : “Từ Floating Point Number Là Gì, một vài Dấu Phẩy Động Bất Thường Là Gì”


Xác định nếu đối số dấu phẩy động đã cho là bình thường, tức là không phải là 0, hàm dưới, vô hạn, cũng không phải NaN.

Bạn đang xem: Floating point number là gì

Bạn đang xem: Floating point number là gì

một vài bằng 0, vô hạn hoặc NaN là rõ ràng ý nghĩa của nó. Nhưng nó cũng cho biết điều huyền bí. Khi nào một vài là ẩn số?

Trong tiêu chuẩn IEEE754, số dấu phẩy động được biểu diễn dưới dạng ký hiệu khoa học nhị phân, x = M × 2 e . Ở đây M là phần định trịesố mũ . Về mặt toán học, bạn luôn khả năng chọn số mũ sao cho 1 ≤ M e phút . Những con số này là những subnormals hoặc denormals .

Trên thực tế, phần định trị được lưu trữ mà không có số 1 đứng đầu, vì luôn có số 1 đứng đầu, ngoại trừ các số siêu thường (và số 0). vì thế, cách giải thích là nếu số mũ không cực tiểu, thì có một vài ẩn dẫn đầu là 1, và nếu số mũ là cực tiểu thì không có, và số là hàm số phụ

*) Tổng quát hơn, 1 ≤ M

— Kerrek SB nguồnBạn đang nói isnomallà truenếu 8 bit đều bằng 0 và falsengược lại?— Pacerier“được lưu trữ” hay được diễn giải?— PacerierPacerier: “storage”: Nó được lưu trữ mà không có số 1 ở đầu, ví dụ như 001010, và được hiểu là 1.001010.— Kerrek SB,Có rõ emin được đề cập trong: “ e min không? “ (Tôi hy vọng nỗ lực định dạng của tôi thành công) ..— Razzle82

*
Floating Point Number Là Gì, một vài Dấu Phẩy Động Bất Thường Là Gì

Kiến thức cơ bản về IEEE 754

Trước tiên, chúng ta hãy xem xét những điều cơ bản của IEEE 754 số được tổ chức.

công ty chúng tôi sẽ tập trung vào độ chính xác duy nhất (32-bit), nhưng mọi thứ khả năng được tổng quát hóa ngay lập tức sang các phân khu khác.

Định dạng là:

1 bit: dấu 8 bit: số mũ 23 bit: phân số

Hoặc nếu bạn thích hình ảnh:


*

Nguồn .

Dấu hiệu rất đơn giản: 0 là tích cực và 1 là tiêu cực, kết thúc câu chuyện.

Số mũ dài 8 bit và vì thế nó nằm trong khoảng từ 0 đến 255.

Số mũ được gọi là chệch vì nó có phần bù -127, ví dụ:

0 == special case: zero or subnormal, explained below 1 == 2 ^ -126 …125 == 2 ^ -2126 == 2 ^ -1127 == 2 ^ 0128 == 2 ^ 1129 == 2 ^ 2 …254 == 2 ^ 127255 == special case: infinity and NaN

Floating Point Number Là Gì, một vài Dấu Phẩy Động Bất Thường Là Gì

Quy ước bit hàng đầu

Trong khi thiết kế IEEE 754, các kỹ sư nhận thấy rằng tất cả các số, ngoại trừ 0.0, đều có một 1số nhị phân là chữ số đầu tiên. Ví dụ:

25.0 == (binary) 11001 == 1.1001 * 2^4 0.625 == (binary) 0.101 == 1.01 * 2^-1cả hai đều bắt đầu với 1.phần khó chịu đó .

vì thế, sẽ rất lãng phí nếu để chữ số đó chiếm một bit chính xác gần như mỗi số.

Vì lý do này, họ đã tạo ra “quy ước bit hàng đầu”:

luôn giả định rằng số bắt đầu bằng một

Nhưng sau đó làm thế nào để đối phó với 0.0? Chà, họ quyết định tạo một ngoại lệ:

nếu số mũ là 0và phân số là 0sau đó số đại diện cho cộng hoặc trừ 0.0

để các byte 00 00 00 00cũng đại diện 0.0, trông đẹp.


Nhiều Bạn Cũng Xem cách làm măng khô xào miến không bị dính.

Nếu chúng ta chỉ xem xét các quy tắc này, thì số khác 0 nhỏ nhất khả năng được biểu diễn sẽ là:

số mũ: 0phân số: 1

trông giống như thế này trong một phân số hex do quy ước bit hàng đầu:

1.000002 * 2 ^ (-127)ở đâu .000002là 22 số 0 với một 1ở cuối.

công ty chúng tôi không thể lấy fraction = 0, nếu không con số đó sẽ là 0.0.

Nhưng rồi các kỹ sư, những người cũng có óc thẩm mỹ nhạy bén, đã nghĩ: điều đó không xấu sao? Rằng chúng ta nhảy từ thẳng 0.0đến một cái gì đó thậm chí không phải là lũy thừa thích hợp của 2? Bằng cách nào đó chúng ta không thể đại diện cho những con số thậm chí còn nhỏ hơn?

Floating Point Number Là Gì, một vài Dấu Phẩy Động Bất Thường Là Gì

Các con số bất thường

Các kỹ sư vò đầu bứt tai một lúc, và trở lại, như thường lệ, với một ý tưởng hay khác. Điều gì sẽ xảy ra nếu công ty chúng tôi tạo một quy tắc mới:

Nếu số mũ là 0, thì:

bit đầu tiên trở thành 0số mũ được sửa thành -126 (không phải -127 như thể chúng ta không có ngoại lệ này)

Những con số như vậy được gọi là số siêu thường (hoặc số không bình thường là từ đồng nghĩa).

Quy tắc này ngay lập tức ngụ ý rằng con số như vậy:

số mũ: 0phân số: 0

vẫn còn 0.0, đó là một loại thanh lịch vì nó có nghĩa là một quy tắc ít hơn để theo dõi.

vì thế, 0.0thực sự là một vài siêu thường theo định nghĩa của công ty chúng tôi!

Khi đó, với quy tắc mới này, số không chuẩn nhỏ nhất là:

số mũ: 1 (0 sẽ là ẩn số)phân số: 0

đại diện:

1.0 * 2 ^ (-126)Khi đó, số bậc ba lớn nhất là:

số mũ: 0phân số: 0x7FFFFF (23 bit 1)

bằng:

0.FFFFFE * 2 ^ (-126)nơi .FFFFFEmột lần nữa 23 bit một bên phải dấu chấm.

Con số này khá gần với con số không bình thường nhỏ nhất, nghe có vẻ đúng mực.

Và số phụ nhỏ nhất khác 0 là:

số mũ: 0 phân số: 1

bằng:

0.000002 * 2 ^ (-126)trông cũng khá gần với 0.0!

Không thể tìm thấy bất kỳ cách hợp lý nào để biểu thị những con số nhỏ hơn thế, các kỹ sư đã rất vui và quay trở lại xem ảnh mèo trực tuyến, hoặc bất cứ điều gì họ đã làm vào những năm 70.

Như bạn khả năng thấy, các số siêu thường có sự cân bằng giữa độ chính xác và độ dài biểu diễn.

Như ví dụ cực đoan nhất, hàm phụ nhỏ nhất khác 0:

0.000002 * 2 ^ (-126)về cơ bản có độ chính xác của một bit thay vì 32 bit. Ví dụ, nếu chúng ta chia nó cho hai:

0.000002 * 2 ^ (-126) / 2chúng tôi thực sự tiếp cận 0.0 chính xác!

Floating Point Number Là Gì, một vài Dấu Phẩy Động Bất Thường Là Gì

Hình dung

Luôn luôn là một ý tưởng hay khi có trực giác hình học về những gì chúng ta học được, vì thế hãy tiếp tục.

Xem thêm: Sách Giải Bài 1 Trang 72 (Luyện Tập Chung) Sgk Toán 5 Trang 72

Nếu chúng ta vẽ biểu đồ IEEE 754 số dấu phẩy động trên một dòng cho mỗi số mũ đã cho, nó trông giống như sau:

+—+——-+—————+——————————-+exponent |126| 127 | 128 | 129 | +—+——-+—————+——————————-+ | | | | | v v v v v ————————————————————-floats ***** * * * * * * * * * * * * ————————————————————- ^ ^ ^ ^ ^ | | | | | 0.5 1.0 2.0 4.0 8.0Từ đó chúng ta khả năng thấy rằng:

đối với mỗi số mũ, không có sự chồng chéo giữa các số được biểu diễnvới mỗi số mũ, chúng ta có cùng một vài 2 ^ 32 trong số các số (ở đây được biểu thị bằng 4 *)trong mỗi số mũ, các điểm cách đều nhausố mũ lớn hơn bao gồm các phạm vi lớn hơn, nhưng với các điểm trải rộng hơn

Bây giờ, hãy đưa nó xuống hết số mũ 0.

Nếu không có subnormals, theo giả thuyết, nó sẽ giống như sau:

+—+—+——-+—————+——————————-+exponent | ? | 0 | 1 | 2 | 3 | +—+—+——-+—————+——————————-+ | | | | | | v v v v v v —————————————————————–floats * **** * * * * * * * * * * * * —————————————————————– ^ ^ ^ ^ ^ ^ | | | | | | 0 | 2^-126 2^-125 2^-124 2^-123 | 2^-127Với subnormals, nó trông như thế này:

+——-+——-+—————+——————————-+exponent | 0 | 1 | 2 | 3 | +——-+——-+—————+——————————-+ | | | | | v v v v v —————————————————————–floats * * * * * * * * * * * * * * * * * —————————————————————– ^ ^ ^ ^ ^ ^ | | | | | | 0 | 2^-126 2^-125 2^-124 2^-123 | 2^-127Bằng cách so sánh hai biểu đồ, công ty chúng tôi thấy rằng:

số phụ nhân đôi độ dài của phạm vi số mũ 0, từ