Бит - это минимальная единица измерения информации. В 16-ричном коде это выглядит так: C1 E8 F2 20 2D 20 FD F2 EE 20 EC E8 ED E8 EC E0 EB FC ED E0 FF 20 E5 E4 E8 ED E8 F6 E0 20 E8 E7 EC E5 F0 E5 ED E8 FF 20 E8 ED F4 EE F0 EC E0 F6 E8 E8 2E Если применить к каждому байту функцию XOR 55 (исключающее или с числом 55), то получится 94 BD A7 75 78 75 A8 A7 BB 75 B9 BD B8 BD B9 B5 BE A9 B8 B5 AA 75 B0 B1 BD B8 BD A3 B5 75 BD B2 B9 B0 A5 B0 B8 BD AA 75 BD B8 A1 BB A5 B9 B5 A3 BD BD 7B Самое интересное в этом коде то, что применив к нему снова XOR 55, мы получим исходное сообщение.
Program abc; var a,b,c,t,z:integer; m,k,l:string; label 1,2,3,4; begin writeln ('Введите число от 1-го до 100'); repeat read(a) until (a>=0)and(a<=100); b:=a div 10; c:=a mod 10; if a=100 then goto 2; if a=0 then goto 1; if (a>9) and (a<20) then goto 4; case b of 2:m:='Двадцать '; 3:m:='Тридцать '; 4:m:='Сорок '; 5:m:='Пятьдесят '; 6:m:='Шестдесят '; 7:m:='Семдесят '; 8:m:='Восемьдесят '; 9:m:='Девяносто '; end; case c of 1:k:='один'; 2:k:='два'; 3:k:='три'; 4:k:='четыре'; 5:k:='пять'; 6:k:='шесть'; 7:k:='семь'; 8:k:='восемь'; 9:k:='девять'; end; writeln (m,k); goto 3; 2:writeln ('Сто'); goto 3; 1: writeln ('Ноль'); goto 3; 4: if a=10 then writeln ('Десять'); if a=11 then writeln ('Одиннадцать'); if a=12 then writeln ('Двенадцать'); if a=13 then writeln ('Тринадцать'); if a=14 then writeln ('Четырнадцать'); if a=15 then writeln ('Пятьнадцать'); if a=16 then writeln ('Шестнадцать'); if a=17 then writeln ('Семнадцать'); if a=18 then writeln ('Восемнадцать'); if a=19 then writeln ('Девятнадцать'); 3:end.
В 16-ричном коде это выглядит так:
C1 E8 F2 20 2D 20 FD F2 EE 20 EC E8 ED E8 EC E0
EB FC ED E0 FF 20 E5 E4 E8 ED E8 F6 E0 20 E8 E7
EC E5 F0 E5 ED E8 FF 20 E8 ED F4 EE F0 EC E0 F6
E8 E8 2E
Если применить к каждому байту функцию XOR 55 (исключающее или с числом 55),
то получится
94 BD A7 75 78 75 A8 A7 BB 75 B9 BD B8 BD B9 B5
BE A9 B8 B5 AA 75 B0 B1 BD B8 BD A3 B5 75 BD B2
B9 B0 A5 B0 B8 BD AA 75 BD B8 A1 BB A5 B9 B5 A3
BD BD 7B
Самое интересное в этом коде то, что применив к нему снова XOR 55, мы получим исходное сообщение.
var
a,b,c,t,z:integer;
m,k,l:string;
label 1,2,3,4;
begin
writeln ('Введите число от 1-го до 100');
repeat read(a) until (a>=0)and(a<=100);
b:=a div 10;
c:=a mod 10;
if a=100 then goto 2;
if a=0 then goto 1;
if (a>9) and (a<20) then goto 4;
case b of
2:m:='Двадцать ';
3:m:='Тридцать ';
4:m:='Сорок ';
5:m:='Пятьдесят ';
6:m:='Шестдесят ';
7:m:='Семдесят ';
8:m:='Восемьдесят ';
9:m:='Девяносто '; end;
case c of
1:k:='один';
2:k:='два';
3:k:='три';
4:k:='четыре';
5:k:='пять';
6:k:='шесть';
7:k:='семь';
8:k:='восемь';
9:k:='девять';
end;
writeln (m,k);
goto 3;
2:writeln ('Сто');
goto 3;
1: writeln ('Ноль');
goto 3;
4: if a=10 then writeln ('Десять');
if a=11 then writeln ('Одиннадцать');
if a=12 then writeln ('Двенадцать');
if a=13 then writeln ('Тринадцать');
if a=14 then writeln ('Четырнадцать');
if a=15 then writeln ('Пятьнадцать');
if a=16 then writeln ('Шестнадцать');
if a=17 then writeln ('Семнадцать');
if a=18 then writeln ('Восемнадцать');
if a=19 then writeln ('Девятнадцать');
3:end.