2013-06-13 51 views
6

Tôi đã tự hỏi những gì mọi người sử dụng hàm ldexp() trong các ứng dụng thực tế.Mục đích của ldexp là gì?

Đây là mô tả:

Trả về kết quả của phép nhân x (significand) bởi 2 nâng lên sức mạnh của exp (số mũ).

+0

Nghe có vẻ hơi lệch ... – Crisfole

+0

Đúng nhưng số dấu phẩy động, tôi tự hỏi khi nào bạn cần sử dụng thực tế điều này. – BlueTrin

+1

Trông giống như một tối ưu hóa để tránh thực hiện tính toán dấu phẩy động bằng cách vận hành trực tiếp trên các bit của số dấu phẩy động – SirDarius

Trả lời

4

ldexp và số kép, frexp, đối phó với phần xác định và số mũ của số dấu phẩy động. Họ cung cấp một cách để có được tại đại diện nội bộ mà không làm thao tác bit trực tiếp.

2

Khi được sử dụng với frexp, chức năng ldexp hữu ích trong các trường hợp yêu cầu lặp lại phép nhân 2. Nếu phép nhân tiếp theo gây tràn hoặc tràn, hãy sử dụng frexp để tách phần tách khỏi số mũ. Điều này cho phép bạn kiểm soát hoàn toàn đối với số mũ và mantissa, do đó bạn có thể hoạt động riêng biệt với chúng mà không bị mất chính xác. Khi bạn hoàn thành, hãy sử dụng ldexp để kết hợp lại số mũ và số mũ.

Xem chi tiết hơn here.

Các vấn đề liên quan