1) Один байт = 8 бит, максимальное число 2^8 - 1 = 255, если числа без знака. Для знаковых чисел старший бит отводится под знак числа, следовательно, минимальное число = - 2^7 - 1
= - 127, максимальное число = + 127
2) Число 1607, ячейка двухбайтовая, один бит под знак, следовательно, под число отводится 15 бит, в двоичном представлении 1607(10) = 11001000111(2), дополняем до 16 бит, старший бит - знаковый - нулевой, так как число положительное
= 0000011001000111(2) - это двоичное представление в двухбайтовой ячейке, чтобы получить шестнадцатиричное представление, разбиваем число справа - налево по 4 бита
0000 0110 0100 0111 и записываем в шестнадцатиричном виде
0111(2) = 7(16) 0100(2) = 4(16) 0110(2) =6(16) 0000(2) = 0(16)
1607(16) = 0647(16) или без старшего не значащего нуля = 647(16)
3) для получения дополнительного кода числа, находят обратное число, или инверсию числа,
для этого каждый бит числа изменяют на противоположный, 1 на 0, 0 на 1
105(10) = 1101001(2) - это и есть дополнительный код числа - 105, т.е. дополнительным кодом
числа (- а) будет число а.
Найдем дополнительный код в однобайтовой ячейке числа 105(10) = 01101001(2),
а) находим обратное 01101001(2) ->(обратное) ->10010110(2)
б) дополнительный код-> обратный код + 1 ->(дополнительный)->10010111(2), а это число - 105
потому, что отрицательные числа представляются в дополнительном коде.
Если для числа - 105 найти дополнительный код, то получим число 105
10010111(2)->(дополнительный)->01101000+1->01101001 = 69(16) = 16*6+9 = 96+9 = 105
1)7*10^2+3*10^1+6*10^0
1*2^4+1*2^3+0*2^2+1*2^1+1*2^0
3*16^3+7*16^2+A*16^1+D*16^0
3) 2012=3734 восьмир, 256=400 восмир, 2012=40Ашесн, 256=100 шесн.
4) 34=100010, 45=101101
...
begin
readln(a);
c:=amod10;
a:=adiv10; k:=1;
while a>0 do begin
d:=amod10;
if d=c then inc(k);
a:=adiv10;
end;
writeln(k);
end.
Для начала переведем все числа в одну систему счисления, например в десятичную:
<span>1)
111101</span>₂=61₁₀
AF₁₆=175₁₀
36₈=30₁₀
(61+175)/30=7.8(6)₁₀
2)
125₈=85₁₀
101₂=5₁₀
2A₁₆=42₁₀
141₈=97₁₀
85+5+42-97=35₁₀
Uses crt;
var a,b,c:integer;
begin
clrscr;
readln(a,b,c);
if (a >0) or (b>0) or (c>0) then writeln('True') else
writeln('False');
end.