Перевести числа из 8-ной системы в 2-ную очень легко. Нужно каждую цифру представить в виде 3 цифр по таблице: 0=000, 1=001, 2=010, 3=011, 4=100, 5=101, 6=110, 7=111. 56(8) = 101110(2) С 16-ной системой тоже самое, только каждая цифра меняется на 4 цифры 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000, 9=1001, A=1010, B=1011, C=1100, D=1101, E=1110, F=1111. AF(16) = 10101111(2) Арифметическое сложение 10101111 + 101110 = 11011101 Арифметическое умножение - это долго, сделай сам столбиком по обычным правилам: 0*0 = 0*1 = 1*0 = 0, 1*1 = 1. Получится 1111101110010. Логическое сложение поразрядное. 0+0 = 0, 0+1 = 1+0 = 1+1 = 1 10101111 + 101110 = 10101111 Логическое умножение. Правила те же. 0*0 = 0*1 = 1*0 = 0, 1*1 = 1. 10101111 * 101110 = 10101110
filimon131262
21.01.2022
{12. Дан массив А(3*4). Найти сумму первых отрицательных элементов в каждом столбце.}
uses crt; const N=3; M=4; var a: array [1..N,1..M] of real; x,y:integer; min,sum:real; begin sum:=0; for x:=1 to N do begin for y:=1 to M do begin a[x,y]:=random(10)-5; write(a[x,y]:3:0); end; writeln; end; writeln; for y:=1 to M do begin min:=0; for x:=N downto 1 do if a[x,y]<0 then min:=a[x,y]; sum:=sum+min; end; writeln; writeln('Сумма первых отрицательных элементов в каждом столбце: ',sum); end.
--- {13. Даны два массива А(3*3) и В(3*3). Вывести на экран тот из них, у которого меньше сумма элементов главной диагонали.}
uses crt; const N=3; var a,b: array [1..N,1..N] of integer; x,y,sum1,sum2: integer; begin sum1:=0; sum2:=0; for x:=1 to N do begin for y:=1 to N do begin a[x,y]:=random(10); if x=y then sum1:=sum1+a[x,y]; write(a[x,y]:3); end; writeln; end; writeln; for x:=1 to N do begin for y:=1 to N do begin b[x,y]:=random(10); if x=y then sum2:=sum2+b[x,y]; write(b[x,y]:3); end; writeln; end; if sum1<>sum2 then begin writeln('Сумма элементов главной диагонали меньше в массиве: '); for x:=1 to N do begin for y:=1 to N do if sum1>sum2 then write(b[x,y]:3) else write(a[x,y]:3); writeln; end; end; if sum1=sum2 then writeln('Сумма элементов главной диагонали одинакова'); end.
--- {17.Дан массив А(3*4). Заменить все отрицательные элементы на противоположные.}
uses crt; const N=3; M=4; var a: array [1..N,1..M] of real; x,y:integer; begin for x:=1 to N do begin for y:=1 to N do begin a[x,y]:=random(10)-5; write(a[x,y]:3:0); if a[x,y]<0 then a[x,y]:=-a[x,y]; end; writeln; end; writeln; for x:=1 to N do begin for y:=1 to N do write(a[x,y]:3:0); writeln; end; end.
Объяснение:
1)11011,01₂=1×2⁴+1×2³+0×2²+1×2¹+1×2⁰+0×2⁻¹+1×2⁻²=6+8+0+2+1+0+0.25 = 27.25₁₀
2)123,45₈=1×8²+2×8¹+3×8⁰+4×8⁻¹+5×8⁻²=64+16+3+0.5+0.078125=83.578125₁₀