bits not for bits

Performs logical negation on each bit.

Signature

> bits not {flags}

Flags

  • --signed, -s: always treat input number as a signed number
  • --number-bytes, -n {string}: the size of unsigned number in bytes, it can be 1, 2, 4, 8, auto

Input/output types:

input output
int int
list<int> list<int>

Examples

Apply logical negation to a list of numbers

> [4 3 2] | bits not
╭───┬─────────────────╮
│ 0 │ 140737488355323 │
│ 1 │ 140737488355324 │
│ 2 │ 140737488355325 │
╰───┴─────────────────╯

Apply logical negation to a list of numbers, treat input as 2 bytes number

> [4 3 2] | bits not --number-bytes '2'
╭───┬───────╮
│ 0 │ 65531 │
│ 1 │ 65532 │
│ 2 │ 65533 │
╰───┴───────╯

Apply logical negation to a list of numbers, treat input as signed number

> [4 3 2] | bits not --signed
╭───┬────╮
│ 0 │ -5 │
│ 1 │ -4 │
│ 2 │ -3 │
╰───┴────╯

Tips: Command bits not was not included in the official binaries by default, you have to build it with --features=extra flag