Задача 3. Написать на языке C# программу быстрого умножения (путём сложения сдвигов) знакового числа, вводимого с клавиатуры, на число 40, а также быстрого вычисления остатка его деления на 16 (путём умножения на маску).
Задача 4. Написать на языке C# программу быстрого умножения знакового числа, вводимого с клавиатуры, на число (величина n также вводится с клавиатуры), а также быстрого вычисления остатка его деления на путём сдвигов.
Answers & Comments
3.
using System;
namespace FastMultiplication
{
class Program
{
static void Main(string[] args)
{
Console.Write("Enter a number: ");
int number = int.Parse(Console.ReadLine());
// Быстрое умножение на 40
int result = number << 6; // эквивалентно умножению на 64
result += number << 4; // эквивалентно умножению на 16
Console.WriteLine("Result of multiplication by 40: " + result);
// Быстрое вычисление остатка от деления на 16
int mask = 0b1111; // Маска со значением 15 (0b1111)
int remainder = number & mask;
Console.WriteLine("Remainder of division by 16: " + remainder);
}
}
}
4.