Является Случайный Генератор от Delphi тем же вычислением как C#, если питается то же семя?

Существует два различных механизма управления макетом при изменении размера или поворота вида:

  1. Авторазмер

Авторазмер Инспектор в конструкторе предоставляет способ установки свойств AutoresizingMask. Это позволит привязать элемент управления к краям их контейнера и / или зафиксировать их размер. Авторазмер работает во всех версиях iOS.

blockquote>

См.: авторазмер

  1. Авторазметка

Функция , представленный в iOS 6, который позволяет детально контролировать отношения элементов управления пользовательского интерфейса. Это позволит контролировать положение элементов относительно других элементов на поверхности конструкции.

blockquote>

См. designer-auto-layout

. Вы можете прочитать документы и загрузить образцы по ссылкам. Для сложной компоновки я рекомендую использовать Auto Layout , для простой компоновки я бы рекомендовал использовать Autosizing .

8
задан schnaader 11 February 2009 в 17:12
поделиться

3 ответа

Delphi PRNG является детерминированным линейным congruential генератором с 134775813 как a и 1 как c, и возврат высоких 32 битов для ограниченных количеств диапазона. Вот реализация в C#, который возвращает те же значения как Delphi:

using System;

class DelphiRandom
{
    int _seed;

    public DelphiRandom(int seed)
    {
        _seed = seed;
    }

    int GetNext() // note: returns negative numbers too
    {
        _seed = _seed * 0x08088405 + 1;
        return _seed;
    }

    public int Next(int maxValue)
    {
        ulong result = (ulong) (uint) GetNext() * (ulong) (uint) maxValue;
        return (int) (result >> 32);
    }
}

class App
{
    static void Main()
    {
        DelphiRandom r = new DelphiRandom(42);
        for (int i = 0; i < 10; ++i)
            Console.WriteLine(r.Next(100));
    }
}
17
ответ дан 5 December 2019 в 05:57
поделиться

Конечно, не, потому что они используют другой RNGs. Вы могли, возможно, использовать RNG из Windows API, создать Ваш собственный RNG или пользоваться некоторой библиотекой RNG для достижения этого.

Другой способ удостовериться Ваш RNG создает те же числа для данного семени, должен был бы записать DLL и использовать его и для Delphi и для C#.

Между прочим, если Вы хотите кодировать RNG сами, Википедия является хорошей начальной точкой для получения названий некоторых обычных генераторов. После того, как Вы сделаны, необходимо выполнить его через некоторый статистический тест, чтобы удостовериться, что это достаточно "случайно" для Вас.

7
ответ дан 5 December 2019 в 05:57
поделиться

Просто некоторые результаты с помощью Delphi 2009 и первые 10 из каждого семени:

Seed:   0, result:   0,   8, 219,  51,  69, 171,  81,  41,  94, 108
Seed:   1, result:   8, 219,  51,  69, 171,  81,  41,  94, 108,  20
Seed:   2, result:  16, 176, 138,  87,  17, 246,   1, 148, 122, 188
Seed:   3, result:  24, 132, 225, 105, 119, 156, 216, 202, 135, 100
Seed:   4, result:  32,  89,  57, 123, 221,  66, 176,   0, 149,  13
Seed:   5, result:  40,  45, 145, 141,  67, 231, 136,  54, 163, 180
Seed:   6, result:  48,   2, 232, 159, 169, 141,  96, 108, 176,  92
Seed:   7, result:  56, 213,  64, 177,  16,  51,  56, 161, 190,   5
Seed:   8, result:  64, 170, 151, 195, 118, 216,  16, 215, 203, 172
Seed:   9, result:  72, 127, 238, 213, 219, 126, 231,  14, 217,  84
Seed:  10, result:  80,  83,  70, 231,  66,  36, 191,  67, 231, 252
Seed:  11, result:  88,  40, 157, 248, 168, 201, 151, 121, 244, 164
Seed:  12, result:  96, 251, 244,  11,  14, 111, 111, 175,   3,  76
Seed:  13, result: 104, 208,  76,  29, 116,  21,  71, 228,  17, 244
Seed:  14, result: 112, 164, 163,  47, 218, 186,  31,  27,  30, 156
Seed:  15, result: 120, 121, 250,  65,  64,  96, 246,  81,  44,  69
Seed:  16, result: 128,  78,  83,  83, 166,   6, 206, 134,  57, 236
Seed:  17, result: 136,  34, 170, 101,  13, 171, 166, 188,  71, 148
Seed:  18, result: 144, 246,   2, 119, 114,  81, 126, 242,  85,  61
Seed:  19, result: 152, 202,  89, 137, 216, 246,  86,  40,  98, 228
Seed:  20, result: 160, 159, 176, 155,  63, 156,  46,  94, 112, 140
Seed:  21, result: 168, 115,   8, 173, 164,  66,   6, 148, 126,  53
Seed:  22, result: 176,  72,  95, 191,  11, 231, 221, 201, 139, 220
Seed:  23, result: 184,  29, 182, 209, 113, 141, 181,   0, 153, 132
Seed:  24, result: 192, 240,  14, 227, 214,  51, 141,  54, 166,  45
Seed:  25, result: 200, 197, 101, 245,  61, 216, 101, 107, 180, 212

Я вижу шаблон ;-).

3
ответ дан 5 December 2019 в 05:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: