powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Смещение shl
8 сообщений из 8, страница 1 из 1
Смещение shl
    #39959756
STestS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Знаю что данная тема уже поднималась здесь не раз, но все таки мне кажется я не нашел решения...

Есть такой код:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
Buffer: packed array [0 .. 4095] of Byte;

Var
  Count: integer;
begin
Count := (Buffer[32] shl 24) + (Buffer[33] shl 16) + (Buffer[34] shl 8) + (Buffer[35]);
end;


Меня интересует именно строка с "Count". Почему мы получаем значение с массива а потом смещаемся? Спрашиваю поскольку это что то типа задания.
Буду раз если кто то объяснит.
...
Рейтинг: 0 / 0
Смещение shl
    #39959760
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STestS
Почему мы получаем значение с массива а потом смещаемся?

Думаете, логичнее сначала смещаться, а потом получать значение из массива?
Или я не понял вопрос...
Операция смещение производится над чем-то. Как производить смещение, если нет числа...
...
Рейтинг: 0 / 0
Смещение shl
    #39959766
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STestS,
В массиве находится 4-х байтовое целое, байты расположены в порядке big-endian (сначала старший).
Это один из способов перекодировки.
...
Рейтинг: 0 / 0
Смещение shl
    #39959777
STestS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
goldmi45
STestS
Почему мы получаем значение с массива а потом смещаемся?

Думаете, логичнее сначала смещаться, а потом получать значение из массива?
Или я не понял вопрос...
Операция смещение производится над чем-то. Как производить смещение, если нет числа...


я понимаю последовательность действий, мне не понятно для чего это было сделано...
...
Рейтинг: 0 / 0
Смещение shl
    #39959779
STestS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Соколинский Борис
STestS,
В массиве находится 4-х байтовое целое, байты расположены в порядке big-endian (сначала старший).
Это один из способов перекодировки.


Допустим это кодировка: если все элементы массива числа представленные в байтовом виде то почему сразу их не переконвертировать...
...
Рейтинг: 0 / 0
Смещение shl
    #39959781
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STestS
Допустим это кодировка: если все элементы массива числа представленные в байтовом виде то почему сразу их не переконвертировать...
Это вопрос к тому, кто их в массив записал таким способом.
Рискну предположить, что это хедер какого-то файла и такой стандарт записи, изначально заточенный под big-endian.
...
Рейтинг: 0 / 0
Смещение shl
    #39959784
STestS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Соколинский Борис
STestS
Допустим это кодировка: если все элементы массива числа представленные в байтовом виде то почему сразу их не переконвертировать...
Это вопрос к тому, кто их в массив записал таким способом.
Рискну предположить, что это хедер какого-то файла и такой стандарт записи, изначально заточенный под big-endian.


Подскажите а как можно просмотреть весь массив в памяти? Дэбаг даст возможность просмотреть весь массив но без смещений...
...
Рейтинг: 0 / 0
Смещение shl
    #39959879
Polesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STestS
Подскажите а как можно просмотреть весь массив в памяти?

В отладке <Ctrl+F7>, окно "Evaluate/Modify"
Buffer[i],n
i - стартовый индекс
n - количество элементов
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Смещение shl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]