Coordinate System: Half-Open Intervals
All internal ranges across the Bitpeek core, CLI, MCP tools, and recipes adhere to the standard mathematical convention of half-open intervals: [start, endExclusive).
start: The 0-based index of the first byte included in the range.end: The 0-based index of the first byte excluded from the range.length: Always equal toend - start.- A range of length 0 (e.g.
[4, 4)) represents an insertion point with zero bytes.
In user-facing UI displays, coordinates are presented clearly with bracket notation (e.g. [0x00..0x04)) so developers never confuse inclusive bounds with half-open slices.
64-Bit Integer Precision & JSON Serialization
Standard JavaScript numbers use IEEE-754 double precision floats, which can only represent integers accurately up to 253 - 1 (9,007,199,254,740,991). Values above this threshold lose precision silently.
Bitpeek solves this issue definitively:
- 64-bit unsigned (
u64) and signed (i64) integers are parsed using nativeBigIntarithmetic. - In JSON API responses, CLI outputs, and MCP tool payloads, 64-bit integers are encoded as exact decimal strings (e.g.
"18446744073709551615") rather than truncated numbers.
Floating-Point Semantics: NaN Payloads & Signed Zero
When inspecting IEEE-754 floating-point numbers (16-bit half precision, 32-bit single precision, and 64-bit double precision), Bitpeek preserves critical edge cases:
- Positive and Negative Zero:
+0.0and-0.0are distinguished and preserved. - Infinities:
+Infinityand-Infinityare explicitly serialized. - NaN Payloads: Because JavaScript
JSON.stringifyconvertsNaNtonull, Bitpeek displays both the floating-point interpretation and the exact raw hexadecimal bits so NaN diagnostic payloads are never lost.
Local processing and privacy
The Byte semantics workflow opens the same Bitpeek browser workspace. Selected file bytes, file names, pasted input, searches, edits, hashes, and comparison data are processed in local browser memory and are not sent to a Bitpeek server.
The static guide itself can be read without opening a file or creating an account.
Frequently asked questions
Why are 64-bit numbers returned as strings in JSON?
To prevent silent precision loss caused by standard JSON parsers converting integers above 2^53 - 1 into double-precision approximations.
How does Bitpeek handle invalid UTF-8 sequences?
Invalid UTF-8 byte sequences are highlighted with error flags, and non-printable bytes in ASCII columns are displayed as safe dots (.) rather than broken replacement characters.