Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 18

Чтение int32 из массива типа Byte

19.04.2017, 19:52. Показов 6408. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На борту имеем массив и парочку переменных:
Delphi
1
2
3
4
var
   data:array of byte[0..32];
   i:integer;
   d:int32;
В ячейках data[20..21] записано число типа int, а в ячейках data[24..27] типа int32.
допустим, первое число 65535, второе 2147483647. В шестнадцатеричном виде получаем соответственно FF FF и 7F FF FF FF.
Вопрос.
Как из ячеек data[20..21] прочитать число в переменную i и из ячеек data[24..27] в переменную d, и соответственно записать?

Для справки.
Допустим в прошивке микроконтроллера я это могу сделать, жестко указав в памяти адреса младших и старших байтов:
C
1
2
3
static  volatile unsigned int  ccp          @ 0x26;         // программный регистр захвата
static  volatile unsigned char ccpL        @ 0x26;      // младший байт
static  volatile unsigned char ccpH        @ 0x27;  // старший байт
читая и записывая данные, просто обращаясь к переменной "сср".
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.04.2017, 19:52
Ответы с готовыми решениями:

Глупый человек ищет умную мысль при сравнения массива типа byte с маскй типа byte.
Прошу помощи в виде объяснения в следующем вопросе. на вход программы поступает array of byte. Требуется просто напросто сравнить...

Метод Socket.Receive(Byte[], Int32, Int32, SocketFlags) отрабатывает некорректно
Пишу передачу файлов с помощью TCP сокетов. Когда казалось уже всё готово..при тестирование в настоящей локальной сети возникли проблемы. ...

Метод Graphics.DrawLine(Int32, Int32, Int32, Int32) Узнать координаты всех точек данной прямой
Как я могу получить координаты всех точек, создаваемых данных методом? Мне необходимо это в дальнейшем чтобы посчитать количество...

20
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 18
21.04.2017, 21:36  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от GoodWeather Посмотреть сообщение
ну чего там, что-то получается? Уже стало понятно где какой Endianness используется?
Байты идут от старшего к младшему, получается big Endian. Поправьте если не так.
Цитата Сообщение от snake32 Посмотреть сообщение
Согласен, удобнее в будущем, но нужно ли это iRubbick?
Сейчас врядли, но в будущем, думаю потребуется. Пока только учусь в этом плане.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.04.2017, 21:36

Запись и чтение массива byte
есть массив byte как записать его на диск и считать обратно? public byte pixels;

Чтение и запись массива byte[]
Ну как-бы с чтение всё понятно. Даже код есть рабочий (с мсдн спёр) using System; using System.IO; class Program { ...

Определение массива типа BYTE
На просторах встретилось: BYTE message; Как заполнить его значениями? Какой синтаксис? Заранее спасибо

Сравнение элементов массива типа byte
Доброго времени суток! Я совсем новичок... Буду рад помощи. Подскажите пожалуйста, как сделать побайтовое сравнение массива? string...

запись в eeprom массива типа byte
подскажите пожалуйста. имеется массив типа byte - byte array1 = { 61, 62, 63, 64, 65, 66}; как его записать в eeprom? пробовал вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru