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

Вниз

Управление битами   Найти похожие ветки 

 
OlegNik   (2008-04-10 15:28) [0]

Есть массив байт размером n элементов.
Каждый элемент масива не привышает значение 63, и на его запись требуется 6 бит.
Как сформировать новой масив, в  котором на каждый элемент придется 6 бит а не 8.


 
Рамиль ©   (2008-04-10 15:36) [1]

Стандартными средствами никак.
Выделить кусок памяти (6 * n) / 8 байт и бегать по нему указателем


 
Kolan ©   (2008-04-10 15:37) [2]

> [0] OlegNik   (10.04.08 15:28)
> Есть массив байт размером n элементов.
> Каждый элемент масива не привышает значение 63, и на его
> запись требуется 6 бит.
> Как сформировать новой масив, в  котором на каждый элемент
> придется 6 бит а не 8.

Покапать TBits?


 
Reindeer Moss Eater ©   (2008-04-10 15:39) [3]

shr,shl,and,or,...


 
OlegNik   (2008-04-10 16:18) [4]


> Покапать TBits?

Ну хорошо на пример
var
arraybyte : array[0..1] of Byte;
_bit : TBits;

arraybyte[0] := 53;
arraybyte[1] := 60;

_bit := TBits.Create;
_bit.size := 6;
Как дальше arraybyte закинуть в _bit и записать его в файл .
Ну и для проверки как его считать и распоковать в arraybyte?


 
Сергей М. ©   (2008-04-10 16:25) [5]


> Как сформировать новой масив, в  котором на каждый элемент
> придется 6 бит а не 8


Никак.


 
Рамиль ©   (2008-04-10 16:25) [6]

Я чего то не пойму, шесть бит нужно ради шести бит?

Писать в файл можно минимум байтами.

Так что надо собирать 6 + 2, 4 + 4, 2 + 6 итого четыре последовательности по шесть бит в трех байтах.


 
Reindeer Moss Eater ©   (2008-04-10 16:52) [7]

Писать в файл можно минимум байтами.

Зато, например, смс посылается подобной семибитной кодировкой (pdu).


 
Рамиль ©   (2008-04-10 17:31) [8]

В семибитовой кодировке и почту можно отправить:)


 
korneley ©   (2008-04-10 18:24) [9]


> Reindeer Moss Eater ©   (10.04.08 16:52) [7]

Кстати, единственный (для меня), из Новейшей Истории факт, когда такой шнягой пришлось заниматься. Ну вот зачем  160 символов в 140 байт (!)  паковать? А с номерами что учудили? Поэтому моё мнение совпадает с  [6] - для чего?



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
15-1206401988
Поп Гапон
2008-03-25 02:39
2008.05.11
Перегнать строку в Unicode, зная ее LangID


15-1206803292
guav
2008-03-29 18:08
2008.05.11
DMClient - посветка.


2-1208170710
djaUser
2008-04-14 14:58
2008.05.11
Загрузка файлов с инет.


15-1206990222
Дмитрий С
2008-03-31 23:03
2008.05.11
Посоветуйте книги.


15-1206640738
@!!ex
2008-03-27 20:58
2008.05.11
НЕзависимая экспертиза.