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*
Комментарий*

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

mkovanov
Kubataeva Nikolaevich1389
Шмидт Ирина
Evagg3856
shymilin19951783
yulialoveinthelow2010
vdk81816778
seregina19706867
gallush9
Андрей
goryavinan
Овсянкина407
Vladimirovna Dmitrieva
avdeevo
lenalevmax7937
▲