Procedure TForm1.Button1Click(Sender: TObject); var i,j,s : integer; k : integer; Chislo : Integer; ChisloTmp : Integer; begin k:=0; for i := 100 to 999 do begin s:=0; Chislo := i; for j := 1 to 3 do begin ChisloTmp := Trunc(Chislo/10); s := s + (Chislo - ChisloTmp*10); Chislo := ChisloTmp; end; if ((s and 1) = 0) then Inc(k); end; Label1.Caption := 'Таких чисел будет ' + inttostr(k); end;
10(10) =2^3+2^1=1010(2) 15(10) = 2^3+2^2+2^1+2^0=8+4+2+1=1111(2) 1010(2) в обратном коде - изменяете 0 на 1, 1 на 0 -> 11110101(2) - обратный код дополнительный код - это к обратному добавить 1 -> 11110110(2) - дополнительный код отрицательные числа хранятся в дополнительном коде 15(10) = 1111(2), обратный код к 1111(2) будет 11110000(2), дополнительный - 11110001(2) -15(10) = 11110001(2), дополнительный код к -15(10) будет само число 15 обратный к -15(2) -> 00001110(2) , добавляем 1 -> 00001110(2) +1 = 00001111(2) = 15(10)
Самое принципиальное отличие: это тип носителя. Во флешках - это микросхема памяти или набор из таких микросхем, а обычный жесткий диск (не гибридный и не SSD) - это набор дисковых пластин со специальной поверхностью, восприимчивой к магнитному полю. А так данные разбиваются на биты или группы битов и хранятся в специальных ячейках носителя, а контроллер носителя определяет работу диска при поступлении команды, например, на чтение или на запись. Если нужно ответить более развернуто - смотрим в спецальных справочниках и энциклопедиях.
var
i,j,s : integer;
k : integer;
Chislo : Integer;
ChisloTmp : Integer;
begin
k:=0;
for i := 100 to 999 do
begin
s:=0;
Chislo := i;
for j := 1 to 3 do
begin
ChisloTmp := Trunc(Chislo/10);
s := s + (Chislo - ChisloTmp*10);
Chislo := ChisloTmp;
end;
if ((s and 1) = 0) then
Inc(k);
end;
Label1.Caption := 'Таких чисел будет ' + inttostr(k);
end;
ОТВЕТ:Таких чисел будет 450