Skip to content

Main content

Bitwise: Ones Complement Negative Zero Check Tool

Recognize the all-ones negative-zero representation in an explicitly sized ones-complement unsigned bit pattern.

Loading tool…

Description

Check one's-complement negative zero.

A fixed-width bit pattern and the number it represents are different concepts. Unsigned, two's-complement, one's-complement, sign-magnitude and biased encodings use different sign and zero conventions, so a bit-preserving transformation need not preserve numerical meaning.

Check one's-complement negative zero.

When to use this tool

Use Bitwise: Ones Complement Negative Zero Check when checking the stated fixed-width representation or encoding convention.

How to use the tool and how it works

  1. Enter word, width. Use the units and conventions below.
  2. Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
  3. Read result. Expand result to inspect the returned fields.

Check one's-complement negative zero. Validate bounded decimal word; negativeZero means all width bits are one.1

One's-complement checksum arithmetic uses end-around carry and has two zero encodings. A single word operation is only part of a complete message checksum.2

Input fieldMeaning and unitsAccepted input
wordWordRequired. Text. Integer syntax: optional + or - and 1-128 decimal digits; leading zeros accepted. Apply the sign restriction above. Implementation limit: 8192 Unicode code points and 16384 UTF-16 code units. Word value must satisfy 0 <= value < 2^width.
widthWidth under the stated bit, interval or geometry convention; apply the field-specific units and bounds.Required. Safe integer. Fixed-word implementation domain: whole width 1-128 bits.
Output fieldInterpretationReturned shape
resultReturned calculated value or nested object under the stated output convention.Required. Object.
result.negativeZeroOne's-complement all-one zero pattern, distinct from sign-magnitude negative zero.Calculated result member: boolean.
json
{
  "input": {
    "word": "255",
    "width": 8
  },
  "output": {
    "result": {
      "negativeZero": true
    }
  }
}

Limitations and assumptions

  • This is a representation flag, not the two's-complement minimum or sign-magnitude negative-zero convention.
  • Outputs are nested inside result. Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
  • Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.

Alternative or Complementary methods

Choose an explicit representation and width, validate the complete encoded value and use the matching signed or unsigned conversion for the intended numerical interpretation.

References

  1. Calculation and input contract: bitwise/ones-complement-negative-zero-check — tool.io

  2. Computing the Internet Checksum, RFC 1071 — Internet Engineering Task Force

Similar or alternative tools