RAW.
Формат файлов содержащий необработанную информацию, поступающую напрямую с матрицы фотокамеры. Эти файлы не обрабатываются процессором камеры (в отличие от JPG) и содержат оригинальную информацию о съемке. RAW может быть сжат без потери качества.
Преимущества RAW очевидны — в отличие от JPG, который был обработан в камере и уже сохранен с сжатием данных — RAW дает широчайшие возможности по обработке фотографии и сохраняет максимальное качество.
Заметка. Разные производители фототехники используют разные алгоритмы для создания RAW в своих камерах. Каждый производитель придумывает собственное разрешение для своего RAW-файла — NEF — Nikon, CR2 — Canon…
8
Объяснение:
Поскольку в задании максимальная цифра 7, то это означает что вообще минимально возможная система счисления для этого примера - восьмеричная (потому что в семеричной с.с. цифры 7 быть не может)
Её и проверим переводом в десятичную систему счисления::
74₈ = 7∙8¹+4∙8⁰ = 56+4 = 60₁₀
47₈ = 4∙8¹+7∙8⁰ = 32+7 = 39₁₀
143₈ = 1∙8²+4∙8¹+3∙8⁰ = 64+32+3 = 99₁₀
получаем что 74₈+47₈=143₈ и это то же самое что 60₁₀+39₁₀=99₁₀ - равенство верное, значит исходный пример действительно написан в восьмеричной системе счисления.
type
BitSring = class
private
BitStr: byte;
function GetStr := BitStr;
function StrToByte(s: string): byte;
begin
Result := 0;
s := s.Left(8);
var p: byte := 1;
var len := s.Length;
for var i := len downto 1 do
begin
if s[i] = '1' then
Result += p;
p := p shl 1;
end
end;
public
property bit8: byte read GetStr;
constructor(st: string);
begin
BitStr := StrToByte(st);
end;
constructor(n: byte);
begin
BitStr := n;
end;
constructor;
begin
BitStr := 0;
end;
function Inv8 := new BitSring(not BitStr);
function Mod8 := new BitSring(not BitStr + 1);
function ToString: string; override;
begin
Result := '';
var n: byte := BitStr;
while n > 0 do
begin
Result := (if n mod 2 <> 0 then '1' else '0') + Result;
n := n shr 1
end;
var len := Result.Length;
if len < 8 then
Result := '0' * (8 - len) + Result
end;
end;
begin
var x := new BitSring(ReadString);
Println(x);
Println(x.Inv8);
Println(x.Mod8);
end.
Пример работы:
1011011
01011011
10100100
10100101