109: (Default)
[personal profile] 109
по следам недавней дискуссии в 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.

(no subject)

Date: 2008-04-03 09:24 pm (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
10B -- это 0x10B имеется в виду?
Там разве есть какие-то другие тонкости кроме того, что если тупо брать остаток, например, то по-хорошему ещё нужно посмотреть на частное и, если оно большеилиравно (2^31 - 1) / 0x10B (если диапазон исключительный, кажется, ничего не напутал), то нужно перегенерить?

А чего там вообще смешного, влом смотреть?

(no subject)

Date: 2008-04-03 10:13 pm (UTC)
From: [identity profile] 109.livejournal.com
не, 10B - это 1010

да ничего там особенно смешного, кроме этих magic numbers захардкоженых. 0, 0x9a4ec86 и 0x7FFFFFFF им почему-то не влом было определить как константы, а остальное - влом.

Profile

109: (Default)
109

March 2019

S M T W T F S
     12
3456789
101112131415 16
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags