У меня есть скрипт python, который использует как random.Random, так и random.SystemRandom. Я использую объект SystemRandom для посева объекта Random. Значения из объекта Random используются в симуляции, и начальное значение печатается, чтобы пользователь мог воспроизвести результаты.Почему getrandbits() никогда не генерирует отрицательные числа?
Однако я заметил, что с любым из них, если я вызываю getrandbits (64), он никогда не отображает число как отрицательное. Это всегда положительное целое число.
Я ожидал бы, учитывая случайность, что близко к 50% времени он произведет отрицательное значение (установив самый левый бит на 1).
Почему мои прогнозы неверны?
Моя реализация:
sr = random.SystemRandom()
seed = sr.getrandbits(64)
seedgen = random.Random(seed)
...
seedgen.getrandbits(64)
Насколько велика C 'long' в вашей системе? –
@MadPhysicist 8 байт. – Anro