Как сгенерировать случайные двоичные числа, чтобы вычислить расстояние Хэмминга попарно в C ++? - PullRequest
0 голосов
/ 21 мая 2018

Я хочу сгенерировать 100 одинаковых случайных 8-битных двоичных чисел, таких как:

01111010, 11011010, 11100010, 10111010, ...

, чтобы я мог вычислить расстояние Хэмминга попарно.

Я нашел много повторяющихся вопросов, но нет решения, кроме отрицательных моментов !!!!!

Я также нашел эту ссылку: http://www.psychocodes.in/c-program-to-calculate-hamming-distance-of-two-binary-strings.html

Но этоне генерирует числа автоматически!Я хочу сгенерировать двоичную форму чисел без ввода данных от пользователя.

Я знаю, что существуют способы вычисления расстояния Хэмминга для двух целых чисел, но учтите, что я хочу иметь двоичные формы.

1 Ответ

0 голосов
/ 21 мая 2018

Вы можете использовать uniform_int_distribution из стандартной библиотеки.Например,

#include <cstdint>
#include <random>

int main(){
  std::random_device rd;
  std::mt19937 eng(rd());
  std::uniform_int_distribution<> distr(0, 255);
  std::vector<std::uint8_t> nums(100);
  for (auto& i: nums) {
    i = static_cast<std::uint8_t>(distr(eng));
  }  
}

Теперь вектор nums имеет 100 элементов 8-битных чисел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...