PassFront
  1. PassFront
  2. База знаний
  3. Основы языка

Как получить рандомное число от 0 до 255?

Основы языка

Случайное число от 0 до 255 получают через `Math.floor(Math.random() 256) — Math.random() даёт [0, 1), умножение на 256 и floor` дают целые 0–255.**

Формула

const random = Math.floor(Math.random() * 256); // 0..255 включительно

Разбор:

  • Math.random() — дробное число в диапазоне [0, 1) (0 включительно, 1 нет).
  • * 256 — [0, 256).
  • Math.floor() — округление вниз → целые 0, 1, ..., 255.

Общая формула для диапазона [min, max]

function randomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}
randomInt(0, 255); // 0..255

(max - min + 1) — количество значений, + min — сдвиг к началу диапазона.

Криптографически стойкое (при необходимости)

Для безопасности (токены, ключи) — crypto:

crypto.getRandomValues(new Uint8Array(1))[0]; // 0..255, криптостойкое

Math.random() не криптостойкий — не для секретов.

Частая ошибка

Math.round(Math.random() * 255); // неравномерно! 0 и 255 реже
Math.floor(Math.random() * 255); // 0..254 — не включает 255!

Правильно — Math.floor(Math.random() * 256).

Коротко для собеседования

Случайное 0–255: Math.floor(Math.random() * 256) (Math.random() даёт [0,1), ×256 → [0,256), floor → 0..255). Общая формула диапазона: Math.floor(Math.random() * (max - min + 1)) + min. Для безопасности (токены) — crypto.getRandomValues (Math.random не криптостойкий). Частая ошибка — * 255 (не включает 255) или round (неравномерно).

Другие вопросы раздела