docs-v2/content/flux/v0/stdlib/bitwise/urshift.md

3.8 KiB

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

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

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

{{% 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 unsigned integer

import "bitwise"

bitwise.urshift(a: uint(v: 1234), b: uint(v: 2))// Returns 308 (uint)


Shift bits right in unsigned integers in a stream of tables

import "bitwise"
import "sampledata"

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

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

Input data

_time _value *tag
2021-01-01T00:00:00Z 18446744073709551614 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 18446744073709551613 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 2305843009213693951 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 2305843009213693951 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 >}}