---
name: "SDL_rand_bits_r"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_rand_bits_r"
---

# SDL\_rand\_bits\_r(3)

Generate 32 pseudo-random bits.

## NAME

SDL\_rand\_bits\_r - Generate 32 pseudo-random bits.

## HEADER FILE

Defined in SDL3/SDL\_stdinc.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**Uint32 SDL\_rand\_bits\_r(Uint64 \*state);**

## DESCRIPTION

You likely want to use  **SDL\_rand\_r** () to get a psuedo-random number instead.

There are no guarantees as to the quality of the random sequence produced, and this should not be used for security (cryptography, passwords) or where money is on the line (loot-boxes, casinos). There are many random number libraries available with different characteristics and you should pick one of those to meet any serious needs.

## FUNCTION PARAMETERS

- *state*

  a pointer to the current random number state, this may not be NULL.

## RETURN VALUE

( **Uint32** ) Returns a random value in the range of \[0- **SDL\_MAX\_UINT32** \].

## THREAD SAFETY

This function is thread-safe, as long as the state pointer isn't shared between threads.

## AVAILABILITY

This function is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_rand\_r**(3)](/SDL_rand_r/3.md), **•**(3), [**SDL\_randf\_r**(3)](/SDL_randf_r/3.md)
