Bit String Circular One Runs

Inventory circular one-bit runs with modular starting positions and lengths; all-ones has one full-cycle run and empty/all-zero strings have none.

Description

Inventory circular one-bit runs with modular starting positions and lengths; all-ones has one full-cycle run and empty/all-zero strings have none.

In a circular bitstring, a run of ones can cross the end-to-start boundary. A linear run table would split that run.

When to use this tool

Inventory circular one-bit runs with modular starting positions and lengths; all-ones has one full-cycle run and empty/all-zero strings have none.

  • Prepare the supplied bits fields for this operation.
  • Compare the complete example with the representation used by your own input before carrying the result into another step.

How to use the tool and how it works

  1. Enter bits. Use the exact text syntax, units and index conventions explained below.
  2. Run the tool. If input validation fails, correct the supplied fields before interpreting any result.
  3. Read result.runs. Interpret false, null and empty lists using the distinctions below; they can be valid outputs.

Find each one preceded cyclically by zero and count its run length modulo the string length. An all-ones nonempty string is one run starting at zero; no ones gives an empty list.1

Input fieldMeaning and representationAccepted input
bitsbits.Binary text containing only 0 and 1; at most 128 characters
Output fieldInterpretation
resultObject containing the named outputs below.
result.runsThe runs list in the ordering and representation described above.
json
{
  "input": {
    "bits": "110001"
  },
  "output": {
    "result": {
      "runs": [
        {
          "start": 5,
          "length": 3
        }
      ]
    }
  }
}

Limitations and assumptions

  • Runs use start plus length rather than half-open end coordinates because they can wrap. No padding or rotation normalization is applied.
  • Every bitstring is at most 128 characters and contains only literal zero and one.
  • All declared input fields are required and unexpected top-level fields are rejected. Numbers must be finite; lists are limited to 128 entries and ordinary text fields to 8,192 UTF-16 code units, with tighter limits where stated.
  • JSON text inputs must parse within bounded nesting and size limits. Numeric outputs outside the safe finite range are rejected; large exact integer results use decimal strings. Indexes and half-open spans are zero-based unless a rank is explicitly described as one-based.

Alternative or Complementary methods

Choose a packed-integer or textual-bit representation deliberately before combining operations. Preserve the documented index direction, width and exclusive boundaries; do not substitute a rank query for select.

References

  1. Tool behavior and example: Bit String Circular One Runs — tool.io

Similar or alternative tools

  • Bit String One Run Table

    Inventory maximal half-open 1-bit runs in a bounded linear string; no circular merging or compression.

  • Bit String Rank One Query

    Count 1 bits in the half-open prefix before an explicit endpoint; rank excludes the endpoint position itself.

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies