What is ieee754?
The ieee754 package provides functions to read and write IEEE 754 floating-point numbers from and to a Buffer or array-like object. This is particularly useful for dealing with binary data formats that require precise handling of floating-point numbers according to the IEEE 754 standard, which is widely used in computing.
What are ieee754's main functionalities?
Reading floating-point numbers
This feature allows you to read IEEE 754 floating-point numbers from a buffer. The example demonstrates reading a 32-bit floating-point number (in this case, an approximation of Pi) from a buffer.
const ieee754 = require('ieee754');
let buffer = new Buffer([0x40, 0x49, 0x0f, 0xd0]);
let value = ieee754.read(buffer, 0, true, 23, 4);
console.log(value); // Outputs: 3.1415927410125732
Writing floating-point numbers
This feature enables you to write IEEE 754 floating-point numbers to a buffer. The example shows how to write the value of Pi as a 32-bit floating-point number into a buffer.
const ieee754 = require('ieee754');
let buffer = new Buffer(4);
ieee754.write(buffer, Math.PI, 0, true, 23, 4);
console.log(buffer); // Outputs: <Buffer 40 49 0f db>
Other packages similar to ieee754
bignumber.js
bignumber.js is a JavaScript library for arbitrary-precision decimal and non-decimal arithmetic. Unlike ieee754, which focuses on IEEE 754 binary floating-point arithmetic, bignumber.js provides more general-purpose arithmetic operations with high precision, making it suitable for financial and other applications requiring exact calculations.
decimal.js
decimal.js is another library for arbitrary-precision arithmetic, similar to bignumber.js. It also focuses on decimal arithmetic rather than binary floating-point, offering precision and operations beyond the IEEE 754 standard. Compared to ieee754, decimal.js is more versatile for applications needing decimal precision and complex arithmetic operations.
ieee754
Read/write IEEE754 floating point numbers from/to a Buffer or array-like object.
install
With npm do:
npm install ieee754
methods
var ieee754 = require('ieee754')
The ieee754
object has the following functions:
exports.readIEEE754 = function (buffer, offset, isLE, mLen, nBytes)
exports.writeIEEE754 = function (buffer, value, offset, isLE, mLen, nBytes)
license
MIT. Copyright (C) 2013 Feross Aboukhadijeh & Romain Beauxis.