я искал хоть какой-то псевдокод для некоторого кода, и я наткнулся на фразуНеоднозначность псевдокод фраза
lowest 32 bits of
После очень долгого времени поиска через веб-сайт, я наткнулся на ответ:
То, что мы хотим сделать, - это работа с 64-разрядным номером и 0xffffffff, чтобы получить самые низкие 32 бита
Мой код
MT[i] = ((1812433253*(MT[i-1]^(((MT[i-1]))>>30)))+i) && 0xffffffff;
Если ответ верный, можете ли вы дать мне краткое объяснение, почему этот ответ правильный, но если этот ответ неверен, вы можете дать мне правильный ответ.
Будет ли этот код давать мне самые низкие 32 бита ((1812433253*(MT[i-1]^(((MT[i-1]))>>30)))+i)
?
Двойной-et ('&&') является *** логическим *** и, не побитовым. Значение результата вашего выражения будет *** всегда *** be '1' или' 0'. –
@JoachimPileborg ... или '0'. – Barry
@Barry Конечно, я думал о логическом * или *, который всегда будет '1'. Должна ли вообще прекратить пить ... –