
Reviewer
Sam Siewert
Professor of computer science, California State University, Chico
About Sam
Sam Siewert is the O'Connell Endowed Professor of computer science at California State University, Chico, where he teaches numeric and parallel computing, computer vision and machine learning. He has taught real-time embedded systems at the University of Colorado Boulder since 2000 and co-founded its Embedded Systems Engineering program. Both fields depend on how computers store numbers in binary, from fixed-width integers to floating point. He earned his PhD and MS in computer science at the University of Colorado Boulder and is a senior member of IEEE. On binarytranslator.ai he reviews the math behind the converters and the number system guides.
In Sam's words
In embedded systems a number is always a fixed number of bits. Once you see that, overflow, two's complement and rounding stop being surprises.
Tools Sam reviewed
Guides
Binary basicsMSB and LSB: most and least significant bits, signed integers and overflow
The MSB is the leftmost, highest-value bit and the LSB the rightmost. See what each tells you, how signed integers use the MSB as a sign bit, and how integer overflow wraps values around.9 min read
Binary basicsWhat is hexadecimal? The base 16 number system explained
Hexadecimal is base 16, with digits 0 to 9 and A to F. See how place values work, why programmers use hex for bytes, the values worth knowing and how octal compares.7 min read
ProgrammingBase64 encode and decode in Python, JavaScript, Linux and PowerShell
Base64 one-liners for Python, the browser, Node.js, Linux, macOS and PowerShell, with a command builder and fixes for padding errors, echo newlines, line wrapping and UTF-16.13 min read
ProgrammingPython struct: pack and unpack binary data
The struct module packs Python numbers into bytes and unpacks them again. Format characters, byte order, alignment, a PNG header example, records, IPv4 and the common errors.11 min read
Binary basicsBig endian vs little endian
What endianness means, how 0x12345678 sits in memory in each order, which processors and file formats use which, network byte order, hex dumps and code to convert.8 min read
Binary basicsBinary subtraction
How to subtract binary numbers: the four rules, borrowing step by step, the two's complement and one's complement methods, common mistakes and practice problems with answers.7 min read
Binary basicsPowers of 2
The full powers of 2 chart from 2^0 to 2^64, a calculator for any exponent, and why 256, 1,024 and 65,536 keep showing up in bytes, colors and file sizes.6 min read
Binary basicsHow to read binary
Split binary into bytes, add the place values under the 1s, then look the number up in the ASCII table. Worked examples, practice bytes and a live bit flipper.7 min readQuestions for Sam
- Why does binary matter in your field?
- Real-time embedded systems run on hardware where every value has a fixed width: 8, 16 or 32 bits. If a reading doesn't fit, it wraps around, and a system that controls something physical can't afford that. Students who can read the bits can find those bugs.
- What do you check when you review a converter?
- The edges of each width. The largest 8-bit unsigned value is 255 and the 8-bit signed range is -128 to 127. A good tool should say clearly when a value doesn't fit instead of quietly cutting it off.
- Which topic do students find hardest?
- Floating point. People expect 0.1 to be stored exactly, and in binary it can't be, because it repeats forever. Showing the actual bits is the fastest way I know to make that clear.