|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.11.2008, 15:17 | #1 |
Пользователь
Регистрация: 25.03.2007
Сообщений: 67
|
Работа с двоичным кодом
помогите решить такую задачу:
Есть положительное число типа Integer - последовательность 4-х байт если я не ошибаюсь есть также массив из 8 байт mass array [0..7] of byte так вот необходимо сделать такую вещь: из первого байта integer сбросить в ноль первый бит пердварительно его запомнив и записать его в массив байтов. во втором байте сдвинуть все биты влево, и присвоить значение последнего байта (самому правому) запомненного байта на предыдущей итерации ну и дальше продолжать в таком духе, идеи конечно етсь но туманные, понимаю что наверно нужно использовать побитовое and и or а для звдига shi илил shr забыл уже блин) Может кто нибудь прольёт свет на мой вопрос? буду благодарен |
18.11.2008, 15:59 | #2 |
Бредовый
Форумчанин
Регистрация: 15.11.2008
Сообщений: 285
|
Кодировать что-то собрался?
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
|
18.11.2008, 18:36 | #3 |
Пользователь
Регистрация: 25.03.2007
Сообщений: 67
|
Это кодировение велечин переменной длины в midi файлах таким спосбом создатели пару килобайт места экономили, когда память была на вес золота а мне вот теперь лишняя морока.
|
18.11.2008, 18:43 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
18.11.2008, 19:11 | #5 |
Пользователь
Регистрация: 27.10.2008
Сообщений: 45
|
Да, как-то невнятно, хотя я в свое время с ассемблером возился...
|
18.11.2008, 22:09 | #6 |
Пользователь
Регистрация: 25.03.2007
Сообщений: 67
|
таак попробую доступней обьяснить с примерами....помогите уж мне ато я сам загнусь)
например у нас есть число скажем 428 типа integer - это число как параметр передайтся функции что такое 428 это 110101100 в двоичной тоетсь это последовательность из 9-и бит, масива бит так сказать Integer это у нас последовательность четырёх байт верно? тоесть это чисто предстваленно следующим образом (исходя что в байте 8 бит) 1-й байт 00000000 2-й байт 00000000 3-й байт 00000001 4-й байт 10101100 первое что нужно это загнать эти байты в array of byte далее уже будем работать с ними как с элементами массива типа byte начинаем с 4-ого байта (10101100) первый его бит нужно сбросить в ноль т.е. из (10101100) получить (00101100) но сброшенный байт тоесть то чно он =1 запоминаем далее берём 3-й байт (00000001) сдвигаем все его элементы влево на 1 бит получим (00000010) теперь на осовободившееся место (00000010) дописываем запомненый бит на передыдущей итерации должны получить (00000011) Я с двоичным кодом никогда не работал плотно, как мне это реализовать может есть такие кто на этом уже собаку сьел ? Последний раз редактировалось lacost; 18.11.2008 в 22:11. |
19.11.2008, 00:20 | #7 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Ток не ясно что вообще происходит и что в итоге должно выйти...
А так на быструю руку исходя из последнего поста... за точность не ручаюсь )) думаю и сами сможете подрехтовать Код:
Последний раз редактировалось BOBAH13; 19.11.2008 в 00:30. |
19.11.2008, 10:38 | #8 |
Пользователь
Регистрация: 25.03.2007
Сообщений: 67
|
BOBAH13, спасибо вам большое, как рас те примеры кода которые я ждал, теперь могу и сам всё привести в надлежащий вид, ещё рас спасибо.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с кодом | Кронос | Общие вопросы Delphi | 6 | 04.05.2008 21:13 |
Помогите с кодом | prostoCHEL | Общие вопросы Delphi | 4 | 02.03.2008 21:56 |
Не понятно с кодом | Михаил Юрьевич | Общие вопросы Delphi | 2 | 08.02.2008 08:07 |
Что с кодом ? | Look | Общие вопросы C/C++ | 11 | 06.11.2007 14:48 |