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
- Enter left, right, width. Use the units and conventions below.
- Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
- 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 field | Meaning and units | Accepted input |
|---|---|---|
| left | Left | Required. 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. |
| right | Right | Required. 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. |
| width | Width 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 field | Interpretation | Returned shape |
|---|---|---|
| result | Returned calculated value or nested object under the stated output convention. | Required. Object. |
| result.wrapped | Wrapped | Calculated result member: string. |
| result.unsignedCarry | Unsigned carry-out; separate from signed two's-complement overflow. | Calculated result member: boolean. |
| result.signedOverflow | Signed Overflow | Calculated result member: boolean. |
{
"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
Similar or alternative tools
- Carry Save Adder One Column
Return sum and carry of three one-bit inputs.
- Signed Saturation Clamp Boundary
Clamp a supplied integer to a signed word range.