docs-v2/content/flux/v0.x/stdlib/bitwise/srshift.md

3.3 KiB

title description menu weight
bitwise.srshift() function `bitwise.srshift()` shifts the bits in `a` right by `b` bits. Both `a` and `b` are integers.
flux_0_x_ref
name parent identifier
bitwise.srshift bitwise bitwise/srshift
101

bitwise.srshift() shifts the bits in a right by b bits. Both a and b are integers.

Function type signature
(a: int, b: int) => int

{{% caption %}}For more information, see Function type signatures.{{% /caption %}}

Parameters

a

({{< req >}}) Left hand operand.

b

({{< req >}}) Number of bits to shift.

Examples

Shift bits right in an integer

import "bitwise"

bitwise.srshift(a: 1234, b: 2)// Returns 308


Shift bits right in integers in a stream of tables

import "bitwise"
import "sampledata"

sampledata.int()
    |> map(fn: (r) => ({r with _value: bitwise.srshift(a: r._value, b: 3)}))

{{< expand-wrapper >}} {{% expand "View example input and output" %}}

Input data

_time _value *tag
2021-01-01T00:00:00Z -2 t1
2021-01-01T00:00:10Z 10 t1
2021-01-01T00:00:20Z 7 t1
2021-01-01T00:00:30Z 17 t1
2021-01-01T00:00:40Z 15 t1
2021-01-01T00:00:50Z 4 t1
_time _value *tag
2021-01-01T00:00:00Z 19 t2
2021-01-01T00:00:10Z 4 t2
2021-01-01T00:00:20Z -3 t2
2021-01-01T00:00:30Z 19 t2
2021-01-01T00:00:40Z 13 t2
2021-01-01T00:00:50Z 1 t2

Output data

_time _value *tag
2021-01-01T00:00:00Z -1 t1
2021-01-01T00:00:10Z 1 t1
2021-01-01T00:00:20Z 0 t1
2021-01-01T00:00:30Z 2 t1
2021-01-01T00:00:40Z 1 t1
2021-01-01T00:00:50Z 0 t1
_time _value *tag
2021-01-01T00:00:00Z 2 t2
2021-01-01T00:00:10Z 0 t2
2021-01-01T00:00:20Z -1 t2
2021-01-01T00:00:30Z 2 t2
2021-01-01T00:00:40Z 1 t2
2021-01-01T00:00:50Z 0 t2

{{% /expand %}} {{< /expand-wrapper >}}