Какой тип (int или byte) использовать для операций с большими массивами - C#

Узнай цену своей работы

Формулировка задачи:

Всем здравствуйте. Есть 2 массива. Массивы неизвестной, очень большой длинны. Я в циклах перемножаю эти массивы. Для сохранения результатов использую массив размерностью равной сумме первых 2 массивов, т.е. он может быть скажем из 1000000000 элементов. Вообщем вопрос. Операция над числами дает в результате int, что лучше 100000000 раз приводить к типу byte, или объявить результатирующий массив из 1000000000 int, хотя ему вполне хватит типа byte

Решение задачи: «Какой тип (int или byte) использовать для операций с большими массивами»

textual
Листинг программы
        static void Main(string[] args)
        {
            Console.WriteLine("press");
            Console.ReadLine();
 
            int size = 100000000;
 
            for (int t = 0; t < 10; t++)
            {
                Test1(size);
                Test2(size);
                Console.WriteLine();
            }
 
            Console.ReadLine();
        }
 
 
        private static void Test1(int size)
        {
            int[] result = new int[size];
 
            var st = Stopwatch.StartNew();
            for (int i = 0; i < size; i++)
            {
                result[i] = i * i;
            }
            Console.WriteLine(st.ElapsedMilliseconds);
        }
 
        private static void Test2(int size)
        {
            byte[] result = new byte[size];
 
            var st = Stopwatch.StartNew();
            for (int i = 0; i < size; i++)
            {
                result[i] = (byte)(i * i);
            }
            Console.WriteLine(st.ElapsedMilliseconds);
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы