1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Дополнительно к главе 4.3 Задание 1 ГДЗ Семакин 8 класс (Информатика)
Семакин, Залогова
8 класс
Автор
Семакин, Залогова

Дополнительно к главе 4.3 Задание 1 ГДЗ Семакин 8 класс (Информатика)

Задача

1. Введите в компьютер и отладьте программу Numbers 2 10. Переведите с её помощью в десятичную систему счисления следующие двоичные числа: 111110; 1111111; 100000. Проверьте правильность результатов.
program Numbers_2_10;
var
n10, n2, k: longint;
begin
write(‘N2 = ‘);
readln(n2);
k := 1; n10 := 0;
while (n2 < > 0) do
begin
n10 := n10 + (n2 mod 10) * k;
k := k * 2;
n2 := n2 div 10
end;
writeln(‘N10 = ‘, n10)
end.

Подробный ответ

Программа переводит двоичное число в десятичное поразрядно: берёт последнюю цифру числа, умножает её на текущую степень двойки и прибавляет к результату. Затем число делится на 10, чтобы перейти к следующему разряду.

Проверим перевод данных чисел.

$$111110_2 = 1\cdot 2^5 + 1\cdot 2^4 + 1\cdot 2^3 + 1\cdot 2^2 + 1\cdot 2^1 + 0\cdot 2^0 = 32+16+8+4+2=62_{10}$$

$$1111111_2 = 1\cdot 2^6 + 1\cdot 2^5 + 1\cdot 2^4 + 1\cdot 2^3 + 1\cdot 2^2 + 1\cdot 2^1 + 1\cdot 2^0 = 64+32+16+8+4+2+1=127_{10}$$

$$100000_2 = 1\cdot 2^5 + 0\cdot 2^4 + 0\cdot 2^3 + 0\cdot 2^2 + 0\cdot 2^1 + 0\cdot 2^0 = 32_{10}$$

program Numbers_2_10;
var
  n10, n2, k: longint;
begin
  write(‘N2 = ‘);
  readln(n2);
  k := 1; n10 := 0;
  while (n2 <> 0) do
  begin
    n10 := n10 + (n2 mod 10) * k;
    k := k * 2;
    n2 := n2 div 10
  end;
  writeln(‘N10 = ‘, n10)
end.

Ответ

$$111110_2 = 62_{10},\quad 1111111_2 = 127_{10},\quad 100000_2 = 32_{10}$$



Общая оценка
4.3 / 5
Другие учебники
Другие предметы