Задача на генерирование и определение межсимвольного расстояния между двумя кодами длиной восемь бит
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Задача на генерирование и определение межсимвольного расстояния между двумя кодами длиной восемь бит - 2008-12-12 17:00:13.560000
|
|
|
arturson
Сообщений: 5
Оценки: 0
Присоединился: 2008-12-12 15:56:39.300000
|
Дана программа: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var x1,x2,x3,i,s:byte; k1,k2,k3:string; {—————–Main——————-} begin s:=0;k1:='';k2:='';k3:='';Randomize; x1:=random(256);x2:=random(256);x3:=x1 xor x2; Label1.Caption:=IntToStr(x1); Label2.Caption:=IntToStr(x2); Label3.Caption:=IntToStr(x3); For i:=1 to 8 do begin k1:=k1+IntToStr(x1 and $01);x1:=x1 shr 1; k2:=k2+IntToStr(x2 and $01);x2:=x2 shr 1; k3:=k3+IntToStr(x3 and $01); Label4.Caption:=k1; Label5.Caption:=k2; Label6.Caption:=k3; {————-Code distance————–} s:=s+(x3 and $01);x3:=x3 shr 1; end; Label7.Caption:='Sum='+IntToStr(s); end;procedure TForm1.Button2Click(Sender: TObject); begin close; end; end. Что в ней нужно изменить чтобы она генерировала и определяла межсимвольное расстояние между двумя кодами длиной восемь бит с использованием двубитной $03 и трехбитной $07 маски ?
|
|
|
RE: Задача на генерирование и определение межсимвольного расстояния между двумя кодами длиной восемь - 2008-12-12 17:33:53.446666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Тебе теория по кодированию нужна или по программированию? Формошлёпский код даже смотреть не буду.
|
|
|
RE: Задача на генерирование и определение межсимвольного расстояния между двумя кодами длиной восемь - 2008-12-12 17:49:51.470000
|
|
|
arturson
Сообщений: 5
Оценки: 0
Присоединился: 2008-12-12 15:56:39.300000
|
по программированию
|
|
|
RE: Задача на генерирование и определение межсимвольного расстояния между двумя кодами длиной восемь - 2008-12-12 18:26:05.513333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Какой у тебя код испольсуется и что такое расстояние между кодами (кинь ссылки, т.к. в универе я эти темы честно прогулял).
|
|
|
RE: Задача на генерирование и определение межсимвольного расстояния между двумя кодами длиной восемь - 2008-12-12 18:26:34.076666
|
|
|
arturson
Сообщений: 5
Оценки: 0
Присоединился: 2008-12-12 15:56:39.300000
|
Нужно чтобы программа работала как и предыдущая, но используя $03 или $07
|
|
|
RE: Задача на генерирование и определение межсимвольного расстояния между двумя кодами длиной восемь - 2008-12-12 18:31:40.313333
|
|
|
arturson
Сообщений: 5
Оценки: 0
Присоединился: 2008-12-12 15:56:39.300000
|
Прогу восстанови по тому тексту что я кинул вначале, тогда поймешь что за коды. Только они написаны наоборот, т.е. справа налево. А что касается межсимвольного расстояния: . Расстоянием Хэмминга (межсимвольным расстоянием) r(x,x’) между двумя комбинациями x и x’ называется число позиций этих комбинаций, в которых кодовые символы x и x’ не совпадают. Для двоичного кода расстоянием Хэмминга (межсимвольным расстоянием) r(x,x’) между двумя комбинациями x и x’ называется число несовпадающих по величине одноименных двоичных разрядов.
|
|
|
RE: Задача на генерирование и определение межсимвольного расстояния между двумя кодами длиной восемь - 2008-12-12 19:10:58.983333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Xor-ишь x1 и x2 (result:= x1 xor x2); далее считаешь количество установленных в 1 бит в числе. Атгоритмов много, как самый примитивный:
var c,result,x1,x2:integer;
...
result := x1 xor x2;
while result <> 0 do
begin
if (result and 1) = 1 then
inc( c );
result := result shr 1;
end;
writeln( c );
|
|
|
RE: Задача на генерирование и определение межсимвольного расстояния между двумя кодами длиной восемь - 2008-12-13 05:28:01.356666
|
|
|
arturson
Сообщений: 5
Оценки: 0
Присоединился: 2008-12-12 15:56:39.300000
|
Ну здесь же не используется $03 или $07…
|
|
|
|
|