Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 02:47 20.06.24 
Клубове/ Компютри и Интернет / Delphi Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: Много ли съм тъп? [re: ИвKo]
Автор Formal (незнаещ)
Публикувано06.07.07 17:42  



Абе много сложно си го направил...
Аз бих написал нещо такова:


program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
bytes : Array[0..20] of Byte = ($FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
$FF, $7F, $00, $00, $E0, $FF, $FF, $FF, $FF, $FF, $FF);
bits : Array[0..21 * 8 - 1] of Boolean;

procedure BytesToBits(bias : Integer);
var i, j, k : Integer;
begin
k := -bias;
if k < 0 then k := k + Length(bits);
if k > High(bits) then k := k - Length(bits);
for i := 0 to High(bytes) do
for j := 0 to 7 do begin
bits[k] := bytes[ i ] and (1 shl j) <> 0;
k := (k + 1) mod Length(bits);
end;
end;

procedure BitsToBytes(bias : Integer);
var i, j, k : Integer;
begin
k := -bias;
if k < 0 then k := k + Length(bits);
if k > High(bits) then k := k - Length(bits);
for i := 0 to High(bytes) do begin
bytes[ i ] := 0;
for j := 0 to 7 do begin
bytes[ i ] := bytes[ i ] or (Byte(bits[k]) shl j);
k := (k + 1) mod Length(bits);
end;
end;
end;

// за тест:
var i : Integer;
begin
BytesToBits(25);
for i := 0 to High(bits) do begin
if i mod 21 = 0 then writeln;
write(byte(bits[ i ]));
end;
BitsToBytes(25);
writeln;
for i := 0 to High(bytes) do begin
write(IntToHex(bytes[ i ], 2), ' ');
end;
readln;
end.




Цялата тема
ТемаАвторПубликувано
* Много ли съм тъп? ИвKo   06.07.07 13:41
. * Re: Много ли съм тъп? Formal   06.07.07 17:42
. * Re: Много ли съм тъп? ИвKo   07.07.07 09:59
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.