c++ tabliczka mnożenia binarnie

c++ tabliczka mnożenia binarnie
0

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

Kopiuj
#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.

PR
  • Rejestracja:około 11 lat
  • Ostatnio:7 dni
  • Lokalizacja:Pomorskie (Stare Kabaty)
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:

Kopiuj
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];
} 
spartanPAGE
  • Rejestracja:około 12 lat
  • Ostatnio:dzień
2

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

//EDIT
Przykład:

Kopiuj
#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; 
}
edytowany 2x, ostatnio: spartanPAGE
Zobacz pozostały 1 komentarz
spartanPAGE
Wypiszesz. Nie ma sensu mielić nic samemu.
hauleth
Tyle, że std::hex to zapis heksadecymalny a nie binarny.
PR
@spartanPAGE Ale nie ma czegoś takiego jak std::bin (http://en.cppreference.com/w/cpp/io/manip/hex). Chyba chodziło ci o std::bitset :P
spartanPAGE
Pierdziele, nie poprawiam, bo mnie zajedzie pisanie na relefonie. Tak @Proxima, to jest rozwiązanie.
0

Super. Dziekuje :D

PE
  • Rejestracja:ponad 10 lat
  • Ostatnio:około 7 lat
  • Postów:24
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.