Có, tôi nhận thức được tiêu chuẩn về độ chính xác một nửa của IEEE-754, và có tôi biết về công việc được thực hiện trong lĩnh vực này. Đặt rất đơn giản, tôi đang cố gắng để tiết kiệm một số điểm nổi đơn giản (như 52.1
, hoặc 1.25
) chỉ trong 2 byte.Làm cách nào để lưu số dấu phẩy động trong 2 byte?
Tôi đã thử một số triển khai trong Java và trong C# nhưng chúng làm hỏng giá trị đầu vào bằng cách giải mã một số khác. Bạn cấp dữ liệu trong 32.1
và sau khi mã hóa giải mã, bạn nhận được 32.0985
.
Có cách nào tôi có thể lưu trữ số dấu phẩy động chỉ trong 16 bit mà không làm hỏng giá trị đầu vào không?
Cảm ơn rất nhiều.
Điểm nổi không thể mã hóa '32.1' – CodesInChaos
Bạn cần mã hóa các số nào và có bao nhiêu chữ số có nghĩa? Xem xét các số thập phân cố định hoặc dấu phẩy động. – CodesInChaos
Bạn có thể lưu trữ nó như là một 'unsigned short', với một số bit được sử dụng cho một phần mũ? Sau đó, bạn sẽ tự chuyển đổi từ định dạng này sang độ chính xác đơn lẻ 'float'. – Matthew