bit32.extract(n: number, f: number, w: number) : integer|number
Extracts bits of n
at position f
with a
width of w
, and returns the resulting integer.
w
defaults to 1, so a two-argument version of extract returns the bit value at position f
.
Bits are indexed starting at 0
.
Errors if f
and f+w-1
are not between 0
and 31
.
bit32.extract(11, 7, 0)
{
"def": "func",
"name": "extract",
"energy": 0,
"pure": true,
"sleep": 0,
"signatures": [
{
"result": [
{
"name": "",
"def": "result",
"desc": "",
"variadic": false,
"type": [
"integer"
],
"optional": false
}
],
"args": [
{
"def": "arg",
"name": "n",
"desc": "",
"type": [
"integer"
],
"variadic": false,
"optional": false
},
{
"def": "arg",
"name": "f",
"desc": "",
"type": [
"integer"
],
"variadic": false,
"optional": false
},
{
"def": "arg",
"name": "w",
"desc": "",
"type": [
"integer"
],
"variadic": false,
"optional": false
}
]
},
{
"result": [
{
"name": "",
"def": "result",
"desc": "",
"variadic": false,
"type": [
"number"
],
"optional": false
}
],
"args": [
{
"def": "arg",
"name": "n",
"desc": "",
"type": [
"integer",
"number"
],
"variadic": false,
"optional": false
},
{
"def": "arg",
"name": "f",
"desc": "",
"type": [
"integer",
"number"
],
"variadic": false,
"optional": false
},
{
"def": "arg",
"name": "w",
"desc": "",
"type": [
"integer",
"number"
],
"variadic": false,
"optional": false
}
]
}
],
"desc": "Extracts bits of `n` at position `f` with `a` width of `w`, and returns the resulting integer.\n`w` defaults to 1, so a two-argument version of extract returns the bit value at position `f`.\nBits are indexed starting at `0`.\nErrors if `f` and `f+w-1` are not between `0` and `31`.",
"link": "https://luau.org/library#bit32-library#:~:text=function%20bit32.extract"
}