Skip to content

Main content

Bitwise: Twos Complement Minimum Negation Check Tool

Negate one twos-complement bit pattern at fixed width, exposing the unique minimum-integer overflow case.

Loading tool…

Description

Negate a word modulo its width and flag signed minimum overflow.

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.

Negate a word modulo its width and flag signed minimum overflow.

When to use this tool

Use Bitwise: Twos Complement Minimum Negation 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.

Negate a word modulo its width and flag signed minimum overflow. Validate bounded word; negatedWord = (2^width-word) modulo 2^width, overflow means word === 2^(width-1).1

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.negatedWordNegated WordCalculated result member: string.
result.overflowTrue for the most-negative signed input even though its fixed-width absolute bit pattern is unchanged.Calculated result member: boolean.
json
{
  "input": {
    "word": "128",
    "width": 8
  },
  "output": {
    "result": {
      "negatedWord": "128",
      "overflow": true
    }
  }
}

Limitations and assumptions

  • Zero negates to itself without overflow; the flag uses two's-complement signed interpretation rather than unsigned underflow.
  • 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/twos-complement-minimum-negation-check — tool.io

Similar or alternative tools