LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Я уже пришёл к выводу, что действительно лучшим решением будет преобразовывать не два произвольных набора int в два произвольных наборов int, а сначала int в индексы в массиве, а уже в массиве хранить во что int преобразуется.

1073807360 -> 0
1073741824 -> 1
1073742848 -> 2
1073743872 -> 3
1073744896 -> 4
1073745920 -> 5
1073746944 -> 6
1073808384 -> 7
1073823744 -> 8
1073824768 -> 9
1073825792 -> 10
1073747968 -> 11
1073748992 -> 12
1073750016 -> 13

Просто вообще у меня такая задача, что одному int соответствует несколько других int (каждый int содержит определённые данные). Сначала мне пришло в голову решение «в лоб» - преобразовывать каждый int в каждый int своей функцией, а сейчас я понял, что куда логичнее хранить массив структур, в которых хранить все нужные int. А начальный int преобразовывать в индекс в этом массиве. Так явно будет выигрыш по скорости (обращение по индексу в массиве гарантированно быстрее любых других вещей).

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

Исправление KivApple, :

Я уже пришёл к выводу, что действительно лучшим решением будет преобразовывать не два произвольных набора int в два произвольных наборов int, а сначала int в индексы в массиве, а уже в массиве хранить во что int преобразуется.

1073807360 -> 0
1073741824 -> 1
1073742848 -> 2
1073743872 -> 3
1073744896 -> 4
1073745920 -> 5
1073746944 -> 6
1073808384 -> 7
1073823744 -> 8
1073824768 -> 9
1073825792 -> 10
1073747968 -> 11
1073748992 -> 12
1073750016 -> 13

Просто вообще у меня такая задача, что одному int соответствует несколько других int (каждый int содержит определённые данные). Сначала мне пришло решение «в лоб» - преобразовывать каждый int в каждый int своей функцией, а сейчас я понял, что куда логичнее хранить массив структур, в которых хранить все нужные int. А начальный int преобразовывать в индекс в этом массиве. Так явно будет выигрыш по скорости (обращение по индексу в массиве гарантированно быстрее любых других вещей).

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

Исходная версия KivApple, :

Я уже пришёл к выводу, что действительно лучшим решением будет преобразовывать не два произвольных набора int в два произвольных наборов int, а сначала int в индексы в массиве, а уже в массиве хранить во что int преобразуется.

1073807360 -> 0
1073741824 -> 1
1073742848 -> 2
1073743872 -> 3
1073744896 -> 4
1073745920 -> 5
1073746944 -> 6
1073808384 -> 7
1073823744 -> 8
1073824768 -> 9
1073825792 -> 10
1073747968 -> 11
1073748992 -> 12
1073750016 -> 13

Просто вообще у меня такая задача, что одному int соответствует несколько других int (каждый int содержит определённые данные). Сначала мне пришло решение «в лоб» - преобразовывать каждый int в каждый int своей функцией, а сейчас я понял, что куда логичнее хранить массив структур, в которых хранить все нужные int. А начальный int преобразовывать в индекс в этом массиве. Так явно будет выигрыш по скорости (обращение по индексу в массиве гарантированно быстрее любых других вещей).