Skip to content

Main content

Bitwise: Fixed Width Add Overflow Flags Tool

Add two fixed-width bit patterns and expose wrapped result, unsigned carry and signed-overflow flags separately; unlike the existing unwrapped fixed-point overflow checker.

Loading tool…

Description

Return modular sum, unsigned carry and signed overflow independently.

Fixed-width arithmetic can wrap, saturate, shift in sign bits or expose discarded bits. Carry, borrow and signed overflow describe different conditions; a local rounding decision or guard/sticky triplet is one part of an arithmetic operation rather than a complete floating-point result.

Return modular sum, unsigned carry and signed overflow independently.

When to use this tool

Use Bitwise: Fixed Width Add Overflow Flags when evaluating the stated shift, arithmetic flag or rounding convention.

How to use the tool and how it works

  1. Enter left, right, 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.

Return modular sum, unsigned carry and signed overflow independently. Validate bounded words; wrapped = (a+b) modulo 2^width, unsignedCarry means sum >= modulus, signedOverflow means equal operand sign bits but a different result sign.1

Input fieldMeaning and unitsAccepted input
leftLeftRequired. 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.
rightRightRequired. 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.wrappedWrappedCalculated result member: string.
result.unsignedCarryUnsigned carry-out; separate from signed two's-complement overflow.Calculated result member: boolean.
result.signedOverflowSigned OverflowCalculated result member: boolean.
json
{
  "input": {
    "left": "127",
    "right": "1",
    "width": 8
  },
  "output": {
    "result": {
      "wrapped": "128",
      "unsignedCarry": false,
      "signedOverflow": true
    }
  }
}

Limitations and assumptions

  • Carry and signed overflow can differ; outputs model fixed-width arithmetic rather than hardware state.
  • 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

Use a complete arithmetic operation with explicit width, signedness, overflow and rounding policy; keep exact integer text when values exceed ordinary numeric precision.

References

  1. Calculation and input contract: bitwise/fixed-width-add-overflow-flags — tool.io

Similar or alternative tools