1.8.62.6638, ошибка Object reference not set to an instance of an object
Вложение 25422
Ошибка:
Вложение 25423
Проект: Вложение 25424
1.8.62.6638, ошибка Object reference not set to an instance of an object
Вложение 25422
Ошибка:
Вложение 25423
Проект: Вложение 25424
ПР110 работает только с 16 разрядными внутренними переменными. Это для начала.
А что так ?Почему не 64 ,как то не универсально ...;)
Можно правда на Пр200 перенести ,но тогда опять для каждой ПР свой RND ,опять не универсально ...А кто то говорил ,что математика везде должна работать ,хоть на счетах ,хоть на ПР ,хоть на ПК . Так всегда бывает ,когда не учитываешь ,то на чем ездить будешь..;)
Внутренние -- пусть какие угодно будут.
А в документации на ОЛ ограничений в 16 разрядов нет.
Про XOR/SHL, конечно, вообще ничего не сказано про разрядность, но в ADD явно сказано, что речь о 32 bit unsigned int.
Как уж они представляются в процессоре -- меня не волнует. Главное, чтобы работали как 32 bit unsigned int.
Поправил 4-ую константу -- в симуляции значения совпадают с теми, что вычисляются в C.
Вложение 25438
value = 3701687786
value = 458299110
value = 2500872618
value = 3633119408
value = 516391518
value = 2377269574
и т.д.
Ну и как теперь его потреблять ,мелькают одни миллионы ,миллиарды ,а мне надо 0-100...
Если от 0 до 100, то достаточно поставить "остаток от деления на 101".
Для больших диапазонов начнёт ощущаться неравномерность (в java в таких случаях вообще цикл используется)
Например, если потребуется число в диапазоне 0..(230+1), то просто так считать остаток от деления на это самое 230+1 уже нехорошо.
Т.е. либо использовать float'ы (ну, поделить на 232-1 и умножить на 100), либо остаток от деления.
Для степеней двойки можно просто and делать -- будет равномерный выход. Например, and(..., 15) -- и на выходе равномерное распределение от 0 до 15-и включительно.
Ну так и надо доделать до конца как у AI,ряд от 0 до 2 в степени 30 на ПР ни кого не интересует ...
ограничений по диапазону быть не должно -хоть 36 ,хоть 49 ...