Și nu v-ați gîndit că informația asta ar putea fi suficient de importantă încît s-o menționați în întrebare? Păi cu asta se schimbă totul! :-)
Da, există formule generale pentru a afla rezultatul unei înmulțiri fără a folosi operația de înmulțire din limbajul respectiv. Iată două metode la care mă pot gîndi eu:
1. Dacă cel puțin unul din numere este întreg atunci înmulțirea se poate face prin adunare repetată, cu o buclă for. De exemplu, ca să înmulțim 4 cu 3,7 facem un progrămel care să pornească cu o variabilă inițializată cu valoarea 0 și apoi să-l adune pe 3,7 la acea variabilă, de 4 ori. Ideea asta se folosește și în practică, mai ales la procesoare cu putere de calcul foarte mică (de exemplu microcontroloare) sau dacă în programul respectiv sînt oricum necesare și sumele intermediare.
2. Dacă nici unul din numere nu este 0 se pot folosi logaritmi, astfel: se calculează logaritmii celor două numere, se adună logaritmii între ei și apoi se calculează antilogaritmul acestei sume, ceea ce va da produsul. (Dacă vreunul din numere e negativ, se ia modulul lui, iar la final se ajustează semnul produsului după cum e cazul.) În practică metoda asta poate fi avantajoasă de exemplu dacă valorile logaritmilor sînt deja cunoscute sau dacă avem de a face cu numere atît de mari încît depășesc limitele normale ale variabilelor folosite în limbajul respectiv.
Dacă îmi permiteți un sfat general, e bine să precizați în întrebări cît mai multe informații relevante, pentru că altfel cel care răspunde are prea mult de ghicit și s-ar putea să nu nimerească. Puneți-vă puțin în locul lui.