Если лень перебирать вручную, можно воспользоваться программой
var k,l,r,x,f:integer; begin f := 3001; l := 0; r := 65534; x := (l + r) div 2; k := 1; while (x <> f) and (l < r) do begin writeln(k,' ',l,' ',r,' ',x); k := k + 1; if f < x then r := x - 1 else l := x + 1; x := (l + r) div 2 end; writeln(k,' ',l,' ',r,' ',x); 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)
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку