Operatory bitowe i kalkulator?

0

Zastanawiam się czy i w jaki sposób możliwe jest zrealizowanie np. czegoś takiego: ktoś podaje mi 2 liczby, załóżmy, że 1024 i 3, a ja używając tylko operatorów bitowych podaję wynik (liczbę po i przed przecinkiem)? Jak to wykonać?

0

O jaki wynik chodzi?

0

No wynik tego dzielenia najelepiej ;) bo 1024 / 3 = 341,33333333333333333333333333333 i chciałbym mieć cały ten wynik za pomocą bitowych operatorów otrzymany

0

A podane liczby to liczby całkowite?

0

W sumie tak, bo są to stringi, tzn. "1024" i "3", gdzie mogę to robić przechodząc po kolejnych cyfrach liczby operatorem chociażby [] lub at() i pobierać poj. cyfry liczby, zamieniać je na int i wykonywać działanie :) Więc chyba można rzec, że int.

0

I masz z dwóch stringów zrobić string wyniku?
Czy te liczby mieszczą się w long long ?

0

To znaczy wiesz, mogę to robic tak samo jak wcześniej, a wynik ma być w stringu (w long long się nie mieści -.-)

Chodzi mi o coś takiego, jak poniżej - oczywiście muszę uwzględnić, długość liczb - są różnej długości, muszę uwzględnić przeniesienia, (tu nie uwzględniłem, bo chciałem Ci tylko pokazać) :

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

int naInt(char liczba){ 

    stringstream ss; 
    string s; 
    ss << liczba; 
    ss >> s; 

    return atoi(s.c_str()); 
}

string naString(int liczba){ 
       ostringstream oss; 
       oss << liczba; 
       return oss.str(); 
} 

int main(int argc, char **argv){
    
    string a = "111";
    string b = "222";
    string f = "";
    
    for(int i=0; i<3; i++)
    {
     int c = naInt(a[i]);
     int d = naInt(b[i]);
     int e = c+d;
     f += naString(e);
    }
    
    cout << f << endl;
    cin.get();
    return 0;
    
}
0

Tak bym sobie wykonywał zamianę poj. cyfry na int i wykonywał działanie. Oczywiście mi chodzi o dzielenie, jak widzisz zmiana string/int int/string to nie problem :) Bardziej nie wiem jak poprawnie zrobić dzielenie uwzględniając przeniesienia, różną długość liczb no i otrzymanie całego wyniku, wraz z tym wszystkim, co jest po przecinku ...

0

jeżeli dasz:
string a = "111111111111111111111111111111111111111111111111111111111111111111111111111111";
to już nie zadziała poprawnie, dla tego moje pytanie, czy chcesz iść od napisu jak wyżej czy da się operować już na liczbach całkowitych.

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