Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.30;
Скачать: CL | DM;

Вниз

степени двоек   Найти похожие ветки 

 
студент   (2007-11-28 10:30) [0]

почему очень часто объявляют массивы размером 1024 или 32768 и т.д. откуда берут эти числа? почему бы вместо 1024 не написать например 1000 или 1100 на всякий случай


 
ыы   (2007-11-28 10:35) [1]


> откуда берут эти числа?
Это степени двоек.


 
Сергей М. ©   (2007-11-28 10:36) [2]

Потому что вся околокомпьютерная кухня пока еще работает на степени двойки)


 
boriskb ©   (2007-11-28 10:39) [3]

> почему очень часто объявляют массивы размером 1024 или 32768
> и т.д.

Кто тебе сказал?
Тебя обманули.
Объявляют массивы таких размерностей, каких требует задача.
И никак иначе


 
Slym ©   (2007-11-28 10:43) [4]

студент   (28.11.07 10:30)
на всякий случай

MaxInt - вот это точно на всякий


 
студент   (2007-11-28 10:45) [5]

я понимаю что это степени двоек! а зачем это нужно? откуда знают что их именно 1024


 
Сергей М. ©   (2007-11-28 10:53) [6]


> зачем это нужно?
> откуда знают что их именно 1024


В каждом конкретном случае решение принимает программист.

Приводи такой случай - и тебе объяснят, почему было принято решение о декларации/использовании данных именно такого размера.


 
palva ©   (2007-11-28 10:54) [7]

> откуда знают что их именно 1024
Просто берут первое пришедшее на ум число. Например, число 1000 - не круглое, поэтому его округляют до 1024.


 
wqeqweqweqw   (2007-11-28 10:54) [8]


> студент  

= ЮЗ, ИШ
сессия началась?


 
Slym ©   (2007-11-28 10:58) [9]

чтоб с размерностью не париться
настоящие мастера делают так:
type
 TMyArray:array[0..0] of byte;


 
БарЛог   (2007-11-28 11:12) [10]

Ничего вы не понимаете! 1024 и 32768 - это степени четвёрки :)


 
tesseract ©   (2007-11-28 11:13) [11]


> я понимаю что это степени двоек! а зачем это нужно? откуда
> знают что их именно 1024


У тебя 1024 двойки за четверть ?

Процессор x86 использует двоичную логику потому и степени двоек.


 
inoremap   (2007-11-28 12:54) [12]

в случае многомерных массивов это позволяет не использовать умножение при доступе к элементам по индексам


 
KSergey ©   (2007-11-28 13:13) [13]

Я вижу тут как рациональные причины, так и вкусовые.
С одной стороны это просто привычка к праивльному пониманию круглых чисел.
С другой - желание более-менее оптимально вписаться размер выделяемых кусков памяти. Которые всегда имеют размер степеней двойки, что как правило, определяется аппаратной частью. Однако понятно, что это актуально не всегда, да и тут слудует тогда уж выделять куски несколько меньшего размера, т.к. система еще допишет служебную информацию.

Ну такое вот мое мнение.



Страницы: 1 вся ветка

Текущий архив: 2007.12.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
2-1196665955
Michael
2007-12-03 10:12
2007.12.30
Разные интерфейсы с одинаковыми методами


4-1181506821
leonidus
2007-06-11 00:20
2007.12.30
Получение координат нажатия на TouchPad


6-1177316875
Dmitriy_010
2007-04-23 12:27
2007.12.30
Передача данных


2-1196610039
Dark
2007-12-02 18:40
2007.12.30
Свойства файлов


15-1196316970
DaniilG
2007-11-29 09:16
2007.12.30
Turbo Delphi +Event Log