c++ tabliczka mnożenia binarnie

0

Witam,
chciałabym napisać tabliczkę mnożenia liczb binarnych podobną do tej:

#include <iostream>
using namespace std;
int main() {
	int n;
	cout << "podaj wymiar tabliczki mnożenia:";
	cin >> n;

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++)
			cout << i*j << "\t";
		cout << endl;
	}

	system("pause");
	return 0;
} 

Niestety nie mam pojęcia jak się a to zabrać.
Proszę o pomoc.

0

Ale z czym masz problem konkretnie?

0

Nie wiem w jaki sposób wykonać taką tabliczkę mnożenia. Wystarczy zamienić otrzymane liczby na binarne? Podobnie jak tu:

void dec_to_bin(int liczba)
{
  int i=0,tab[31];
 
  while(liczba) //dopóki liczba będzie różna od zera
  {
    tab[i++]=liczba%2;
    liczba/=2;
  }
 
  for(int j=i-1;j>=0;j--)
    cout<<tab[j];
} 
2

Wystarczy, że każdy wynik wypiszesz binarnie. Liczenie takie samo, a pod spodem i tak masz binarny.

//EDIT
Przykład:

#include <iostream>
#include <string>
#include <bitset>
using namespace std;

template<typename T>
string to_bin_str(const T &val) {
	bitset<sizeof(val)*8> bset(val);
	auto bstring = bset.to_string();
	auto pos = bstring.find_first_of('1');
	return pos != string::npos
		? string(begin(bstring)+pos, end(bstring))
		: "0";
}


int main() {
	unsigned char uc = 10;
	unsigned short us = 255;
	signed int si = -10;
	
	cout << to_bin_str(uc) << endl
	     << to_bin_str(us) << endl
	     << to_bin_str(si) << endl
	     << to_bin_str(0) << endl;
	return 0; 
}
0

Super. Dziekuje :D

0

Świetną zabawą jest mnożenie liczb binarnych bez zamiany na dziesiętne. Polecam ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1