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
npm install ieee754
methods
var ieee754 = require('ieee754')
The ieee754
object has the following functions:
ieee754.read = function (buffer, offset, isLE, mLen, nBytes)
ieee754.write = function (buffer, value, offset, isLE, mLen, nBytes)
The arguments mean the following:
- buffer = the buffer
- offset = offset into the buffer
- value = value to set (only for
write
) - isLe = is little endian?
- mLen = mantissa length
- nBytes = number of bytes
what is ieee754?
The IEEE Standard for Floating-Point Arithmetic (IEEE 754) is a technical standard for floating-point computation. Read more.
license
BSD 3 Clause. Copyright (c) 2008, Fair Oaks Labs, Inc.