Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Генератор случайных чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Немогу разобратся с идентификатором http://www.cyberforum.ru/cpp-beginners/thread947601.html
Доброе время суток! В общем создал Win32 проект (dll библиотеки, с использованием MFC). Добавил код (.cpp , .h файлы) User.h #pragma once...
C++ Прекращена работа программы proj.exe Доброго времени суток всем. У меня возникла неприятная проблемка. Я написал программу(даже не всю а только часть) которая, в последствии, будет что-то вроде морского боя на консоле. В процессе... http://www.cyberforum.ru/cpp-beginners/thread947537.html
C++ Уже 2 года не могу установить c++
Ребят нужно работать на 2010 версии, но при установке на этапе VC 9.0 во всех версиях возникает или ошибка или до бесконечности зависает установка, мне пришла в голову мысль - можно установить на...
C++ Не вводится int в функции класса
Помогите пожалуйста... Я хочу сделать Свой класс, в котором будут функции, одинаковые по названию, одинаковые по типу, но разные по водимым параметрам. Т.е. что Я хочу сделать... Вот, у Меня есть...
C++ Задание "Заказ пиццы" (на английском языке) http://www.cyberforum.ru/cpp-beginners/thread947508.html
Здравствуйте, уважаемые Программисты. Я учусь на первом курсе, поэтому я еще новичок. Прошу вашей помощи в модификации программы. Тут у меня программа на английском. Задание таково: Я написал...
C++ Рекурсия: вычисление чисел Фибоначчи Числа Фибоначчи Fn вычисляются по формуле F0=F1=1; Fn=Fn-1+Fn-2, при n=2,3,... Нужно реализовать функцию, которая по заданому номеру n будт вычеслять значение Fn. Использовать рекурсивный алгоритм... подробнее

Показать сообщение отдельно
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1

Генератор случайных чисел - C++

03.09.2013, 11:19. Просмотров 2522. Ответов 22
Метки (Все метки)

Здорова господа!

Нужно написать свой собственный генератор случайных чисел, такой же примерно как rand.

От примерно написал кое что, с книги код выдрал, это нормальное распределение случайных чисел в пределах от 0 до 10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    map<int,int> m;
    
    unsigned long seed=0;
    long n=10; //от 0 до 9
    for(int i=0;i<1000000;i++)
    {
        seed=seed*1103515245+12345;//получаем случайное число
        long k=seed;
        double fd=(k&0x7fffffff)/2147483648.0;
        long rez=n*fd;
        if(rez==n) rez--;
    //  cout <<rez<<' ';
        m[rez]++;
    }
    cout <<endl;
 
    //проверка распределения
    for(int i=0;i<10;i++)
        cout <<i<<' '<<m[i]<<endl;
и тут от не понятно отето от k&0x7fffffff, что здесь происходит? что это за число 0x7fffffff??? это long число громадно, так что значит просто так его нельзя записать, нужно только знаками или в шестнадцатеричном виде? В книге написано что это выражение делает доступними 31 бит из 32 токо как?
и что это за long тип? unsigned это ясно это без знаковый тип, только положительные числа, а от long это чтоль большие знаковые числа чтоли?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru