cuốn sách gpt4 ai đã làm

linux — thay thế dấu phẩy động linux _control87

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 00:53:03 25 4
mua khóa gpt4 Nike

Tôi đang làm việc trên một số mã (từ Windows sang Linux), chủ yếu là để tìm hiểu thêm về lập trình C++ trên Linux.

Tôi đã xem qua một chức năng có chứa điều này:

_clear87();

_control87(_PC_24, MCW_PC);
_control87(_RC_CHOP, MCW_RC);
_24 = getFPUsw(); // 24, chặt
_control87(_RC_NEAR, MCW_RC);
_24r = getFPUsw(); // 24, làm tròn

_control87(_PC_53, MCW_PC);
_control87(_RC_CHOP, MCW_RC);
_53 = getFPUsw(); // 53, chặt
_control87(_RC_NEAR, MCW_RC);
_53r = getFPUsw(); // 53, làm tròn

_control87(_PC_64, MCW_PC);
_control87(_RC_CHOP, MCW_RC);
_64 = getFPUsw(); // 64, chặt
_control87(_RC_NEAR, MCW_RC);
_64r = getFPUsw(); // 64, làm tròn

Theo như tôi biết. _control87 và _clear87 chỉ dành cho Windows và được sử dụng để thay đổi chế độ FPU để tính toán dấu phẩy động, v.v. hiện hữu Được xác định trên Windows trong

Tương đương trên Linux dường như là #include Các chức năng trong đó đều nhất quán

Tôi không chắc tương đương với các hàm _control87 này là gì, hy vọng ai đó ở đây có thể chỉ cho tôi đi đúng hướng.

câu trả lời hay nhất

Trên thực tế, fenv.h dường như độc lập với nền tảng. ví dụ: http://howtounix.info/man/FreeBSD/man3/fenv.3

Sử dụng .NET, điều này cũng có thể hoạt động:

Word uSaved8087CW = System::Default8087CW;
...
//Ví dụ:
System::Set8087CW(0x133f); // Tắt tất cả ngoại lệ fpu.
// tính toán
...
Hệ thống::Set8087CW(uSaved8087CW);

Về thay thế c++ - dấu phẩy động _control87 của linux, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/29247764/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress