Tôi có dữ liệu khoa học được bán vào các tệp. Tại thời điểm này tôi đã đổ chúng với cùng một biểu diễn như trong bộ nhớ. Tôi có tài liệu rằng họ là IEEE754 nhưng tôi rất muốn có điều này khẳng định trong mã để nếu nó được chuyển đến một kiến trúc kỳ lạ và tách ra từ tài liệu của tôi (mã nghiên cứu được thông qua xung quanh) nó lỗi trên biên dịch. Tại thời điểm này, tôi cóLàm cách nào để có thể kiểm tra biểu diễn dấu phẩy động để lưu trữ tệp?
static_assert(sizeof(double)==8), "message");
Có cách nào để kiểm tra IEEE754 không? Và điều đó có thể được khẳng định không?
Trừ khi tập hợp dữ liệu rất lớn, hãy xem xét lưu trữ dữ liệu dưới dạng văn bản - tương thích hơn nhiều, di động và tương thích ngược. –
Trước hết: đó là vấn đề C hoặc C++? Các giải pháp khác nhau. – LPs
Về lý thuyết có '__STDC_IEC_559__' để kiểm tra, nhưng trong thực tế hầu như không có trình biên dịch nào mà tôi biết định nghĩa nó; Tôi sẽ giải quyết để kiểm tra các đại diện nhị phân của một vài trường hợp góc. Nhưng dù sao, nhiều hơn không có IEEE754 (đó là tương đối hiếm) Tôi sẽ kiểm tra lại tính cuối cùng. –