bit32.arshift

bit32.arshift(n: number, i: number) : integer|number

Shifts n by i bits to the right (if i is negative, a left shift is performed instead). The most significant bit of n is propagated during the shift. When i is larger than 31, returns an integer with all bits set to the sign bit of n. When i is smaller than -31, 0 is returned

Example

bit32.arshift(11, 15)
{
  "def": "func",
  "name": "arshift",
  "energy": 0,
  "pure": true,
  "sleep": 0,
  "signatures": [
    {
      "result": [
        {
          "name": "",
          "def": "result",
          "desc": "",
          "variadic": false,
          "type": [
            "integer"
          ],
          "optional": false
        }
      ],
      "args": [
        {
          "def": "arg",
          "name": "n",
          "desc": "number to be shifted",
          "type": [
            "integer"
          ],
          "variadic": false,
          "optional": false
        },
        {
          "def": "arg",
          "name": "i",
          "desc": "bits to shift by",
          "type": [
            "integer"
          ],
          "variadic": false,
          "optional": false
        }
      ]
    },
    {
      "result": [
        {
          "name": "",
          "def": "result",
          "desc": "",
          "variadic": false,
          "type": [
            "number"
          ],
          "optional": false
        }
      ],
      "args": [
        {
          "def": "arg",
          "name": "n",
          "desc": "number to be shifted",
          "type": [
            "integer",
            "number"
          ],
          "variadic": false,
          "optional": false
        },
        {
          "def": "arg",
          "name": "i",
          "desc": "bits to shift by",
          "type": [
            "integer",
            "number"
          ],
          "variadic": false,
          "optional": false
        }
      ]
    }
  ],
  "desc": "Shifts `n` by `i` bits to the right (if `i` is negative, a left shift is performed instead).\nThe most significant bit of `n` is propagated during the shift.\nWhen `i` is larger than `31`, returns an integer with all bits set to the sign bit of `n`.\nWhen `i` is smaller than `-31`, `0` is returned",
  "link": "https://luau.org/library#bit32-library#:~:text=function%20bit32.arshift"
}

< Back to bit32