Manyaya
?>

За с клавиатуры 16-ричное число (переменная х16 строкового типа string), в переменной х8 сформировать его 8-ричное представление. Результат вывести на экран.

Информатика

Ответы

ПолухинаТененева565

// PascalABC.NET

// количество знаков - произвольное!

function HexDigitToBin(Self: char): string; extensionmethod;

begin

 var bd: array of string := ('0000', '0001', '0010', '0011',

     '0100', '0101', '0110', '0111', '1000', '1001', '1010',

     '1011', '1100', '1101', '1110', '1111');

 var hd := '0123456789ABCDEF';

 var i := Pos(Self.ToUpper, hd);

 Result := if i > 0 then bd[i - 1] else '****'

end;

function Bin4ToOct(Self: string): char; extensionmethod;

begin

 var od: array of string := ('000', '001', '010', '011',

     '100', '101', '110', '111');

 var i := od.FindIndex(p -> p = Self);

 Result := if i < 0 then '*' else i.ToString.First

end;

function HexToOct(Self: string): string; extensionmethod;

begin

 var t := '';

 foreach var c in Self do

  t += c.HexDigitToBin;

 var L := t.Length;

 t := '0' * ((3 - L mod 3) mod 3) + t;

 L := t.Length;

 var n := L div 3;

 Result := '';

 for var i := 0 to n - 1 do

   Result += t[3 * i + 1: 3 * i + 4].Bin4ToOct;

end;

begin

 var x16 := ReadString('Введите 16-ричное число:');

 var x8 := x16.HexToOct;

 x8.Print

end.


За с клавиатуры 16-ричное число (переменная х16 строкового типа string), в переменной х8 сформироват
Vladimirovna Viktorovna
Для удобства вычислений переведём размер сканируемого изображения в дюймы: 20,32 × 20,32 (см) = 8 × 8 (inch).

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

1)    600 × 8 = 4800 (px) – количество пикселей по горизонтали.

2)    1200 × 8 = 9600 (px) – количество пикселей по вертикали.

3)    4800 × 9600 = 46 080 000 (px) – всего пикселей.

4)    46 080 000 × 4 = 184 320 000 (bit) = 22 500 (KB)

ответ: полученный графический файл будет иметь объём 22 500 килобайт.
Ирина
Если число 49 записывается как 121, значит первый остаток от деления равен 1, то есть основанием системы счисления является число, кратное 48.

121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.

Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза. 
Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления.
Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков.
Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2.
Остаётся число 6. Проверим

49/6=8 |1
8/6 = 1 |2
1/6=0 |1

121(6)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

За с клавиатуры 16-ричное число (переменная х16 строкового типа string), в переменной х8 сформировать его 8-ричное представление. Результат вывести на экран.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

nastya3213868
lele52
nash-crimea2019
olgolegovnak
ogofman
Elshel8694
romka1210
Gesper63
Wunkamnevniki13438
sergey3699
gabbro19975650
Daniil1945
JisesLove19955
xsmall1
Ольга