When editing a file in hexadecimal mode, you can open EditPad Pro’s Byte Value Editor. With the Byte Value Editor, you can edit the byte that the text cursor points to in the hexadecimal editor, and up to 7 bytes that follow it. Instead of entering hexadecimal values directly in the hex editor, you can enter decimal numbers in various formats. When you enter a number in one of the formats, EditPad Pro automatically converts the decimal number into 1 to 8 bytes. EditPad Pro uses those bytes to replace the byte pointed to by the cursor and as many following bytes as needed.
The Byte Value Editor works with the main file editing area, as well as with the search and replace boxes. The edit box that was the last one to have keyboard focus is the one the Byte Value Editor is connected to.
The first row of values are unsigned integers of 1, 2, 3, 4, 6 or 8 bytes. Values are directly converted between decimal and hexadecimal.
The second row of values are signed integers of the same sizes. Hexadecimal values are negated using two’s complement, like modern microprocessors do. E.g. if you enter -1 in any of the signed integer boxes, all bytes will be set to FF.
The binary box allows you to enter up to 8 bits to edit the current byte as a binary number. This is useful if the byte represents a bit field.
Three floating point boxes allow you to enter floating point numbers of various precisions. The 4-byte floating point number defines a 32-bit single precision floating point number following the IEEE standard. The 8-byte floating point number defines a 64-bit double precision floating point number, also following the IEEE standard. The single precision and double precision floating point numbers are identical to the single and double floating point types in most modern programming languages. You can type in floating point numbers using scientific notation. E.g. 1.5e6 is one and a half million. Positive infinity, negative infinity and “not a number” are represented by Inf, -Inf and NaN respectively.
The 6-byte floating point number is a bit of an odd-ball. It defines a 48-bit floating point number which corresponds with the “Real” type in Turbo Pascal and other Pascal variants. In Delphi, the “Real” type is actually a 64-bit double precision floating point number. The “Real48” type is the Delphi equivalent of the Real type in Turbo Pascal.
The little and big endian options switch the order of the bytes. The decimal value 300 is 0x12C in hexadecimal. In little endian format, the two bytes are ordered 2C 01, starting with the least significant byte. In big endian, the two bytes are ordered 01 2C, starting with the most significant byte. You can see the difference if you type 300 in the “word” field in EditPad Pro. The Intel and AMD processors that Windows runs on all use the little endian format natively. The PowerPC processors that the Apple Macintosh used to run on use the big endian format natively. Recent Macs use little endian Intel processors.