random numbers
Apr. 3rd, 2008 12:41 pmпо следам недавней дискуссии в code_wtf (или как её там) - посмотрел код System.Random. похихикал чуть-чуть над magic numbers: 0x38, 0x9a4ec86, 2147483646.0, 4294967293, 4.6566128752457969E-10, а также над if ((((this.InternalSample() % 2) == 0) ? 1 : 0) != 0).
anyway, теперь у меня есть хороший вопрос для интервью: написать код, который будет генерировать random numbers в диапазоне 0..10B.
anyway, теперь у меня есть хороший вопрос для интервью: написать код, который будет генерировать random numbers в диапазоне 0..10B.
(no subject)
Date: 2008-04-03 09:24 pm (UTC)Там разве есть какие-то другие тонкости кроме того, что если тупо брать остаток, например, то по-хорошему ещё нужно посмотреть на частное и, если оно большеилиравно (2^31 - 1) / 0x10B (если диапазон исключительный, кажется, ничего не напутал), то нужно перегенерить?
А чего там вообще смешного, влом смотреть?
(no subject)
Date: 2008-04-03 10:13 pm (UTC)да ничего там особенно смешного, кроме этих magic numbers захардкоженых. 0, 0x9a4ec86 и 0x7FFFFFFF им почему-то не влом было определить как константы, а остальное - влом.