Помогите на перевести програму на С++
нужно написать програму за таким Алгоритмом умножения с старших разрядов второго множителя и сдвигом первого множителя справа при каждом шаге на один разряд. Множители подаются в 16-ти разрядной сетке
я написал на С# чтото подобное но нужно в С++ оть они похожы но уже давно не работал на С++
вот на С#
#include "stdafx.h"
using System;
using System.Collections;
using System.Text;
namespace BitForum
{
class Program
{
const int COUNT_BIT = 5;
static void Main(string[] args)
{
Random rnd = new Random(); //Класс для генерации случайных чисел
StringBuilder num1s = new StringBuilder(COUNT_BIT); //Строковое представление 1го числа
StringBuilder num2s = new StringBuilder(COUNT_BIT); //тоже для второго числа
BitArray num1 = new BitArray(COUNT_BIT); //Битовый массив из 5ти бит
BitArray num2 = new BitArray(COUNT_BIT);
//Заполняем битовые массивы и их строковые представления
for (int i = 0; i < COUNT_BIT; i++)
{
num1 = rnd.Next(0, 100) < 50? false : true;
num1s.Append(num1 ? "1" : "0");
num2 = rnd.Next(0, 100) < 50? false : true;
num2s.Append(num2 ? "1" : "0");
}
Console.Write("Логическое умножение {0} на {1} равно: ", num1s.ToString(), num2s.ToString());
//Умножаем массив num1 на num2
BitArray mul = num1.And(num2);
//Выводим результат умножения
for (int i = 0; i < mul.Count; i++)
Console.Write(mul ? "1" : "0");
Console.ReadKey(true);
}
}
}