Câu hỏi này có lẽ là "bất thường", nhưng tôi cần phải đúc một phao Number
đến một số nguyên Number
, mà không sửa đổi biểu diễn nhị phân của nó. Ví dụ: phao 37.5
được biểu thị bằng các byte 0x42160000
(theo IEEE 754). Tôi cần phải diễn giải lại 0x42160000
dưới dạng số nguyên, tức là số 1108738048
Reinterpret cast floating point number thành số nguyên
Làm cách nào để thực hiện việc này? Tôi nghĩ rằng có thể có một số thủ thuật bitwise để thực hiện điều này?
Để rõ ràng, tôi là không phải tìm kiếm Math.round
hoặc parseInt
.
Tuyệt vời. Điều này có được hỗ trợ bởi tất cả các trình duyệt chính không? Tôi chưa bao giờ nghe nói về Float32Array hoặc Int32Array ... – Bart
@Bart: Tôi thực sự không nghĩ như vậy - đó là thương hiệu mới trong thực tế. Nó hoạt động trên Chrome - hãy để tôi kiểm tra các trình duyệt khác. – pimvdb
@Bart: Hỗ trợ trong Firefox (ít nhất là Firefox 6), Chrome và Safari. Không có trong IE hay trong Opera, tôi sợ ... – pimvdb