13,045,019 members (43,854 online)
Rate this:
See more:
hiii,
how can i do my project?
```string str1="4567995244...4457";
string str2="1458795568...85498";

str1-str2; // differance
str1*str2; // multiplication
str1/str2; // division```

note: we dont use biginteger class also
we dont use arithmetic operatiors
Posted 29-Dec-12 5:38am
Orhss263
Updated 29-Dec-12 5:44am
Wendelius355.1K
v2
Sergey Alexandrovich Kryukov 29-Dec-12 21:53pm

What's wrong with BigInteger?
—SA

Rate this:

## Solution 2

If I understood your question correctly, you first have to change the data type to something you can use in calculation. For example:
`int a = int.Parse("123") + int.Parse("456");`

Of course you would use variables inside `TryParse `instead of constant strings.
Sergey Alexandrovich Kryukov 29-Dec-12 21:50pm

Parse is better, because this API name correctly tell us what really happens, unlike "Convert". My 5.
—SA
Mika Wendelius 4-Jan-13 15:07pm

That's true, thanks :)
Rate this:

## Solution 3

If BigInteger is not good enough, look around here: http://www.codeplex.com/Wikipage?ProjectName=sine[^]
Sergey Alexandrovich Kryukov 29-Dec-12 21:53pm

Interesting, my 5. However, OP's idea about not using BigInteger is not motivated; most likely, this is just a mistake. As a rule of thumb, OP's "I want" or "I don't want" cannot be taken seriously.
—SA
Zoltán Zörgő 30-Dec-12 2:55am

Probably. But most likely the OP was told to implement these basic operation as pure symbol/string manipulation.
Sergey Alexandrovich Kryukov 30-Dec-12 13:16pm

Agree...
—SA
Rate this:

## Solution 1

Hi,

Try this:
```string str1="4567995244...4457";
string str2="1458795568...85498";

decimal d1 = Convert.ToDecimal(str1);
decimal d2 = Convert.ToDecimal(str2);

decimal difference = d1-d2; // difference
decimal multiplication = d1*d2; // multiplication
decimal division = d1/d2; // division```

[EDIT]

Orhss wrote:
note: we dont use biginteger class also

I think there's no other option then using a `BigInteger`. Add a reference to System.Numerics.dll, add
`using System.Numerics;`
to the top of your code file, and then use this code:
```BigInteger b1 = BigInteger.Parse(str1);
BigInteger b2 = BigInteger.Parse(str2);

BigInteger addition = b1 + b2;
BigInteger difference = b1 - b2;
BigInteger multiplication = b1 * b2;
BigInteger division = b1 / b2;```

Hope this helps.
v2
ridoy 29-Dec-12 12:20pm

+5
ProgramFOX 29-Dec-12 12:21pm

Thank you!
Orhss 29-Dec-12 12:33pm

your solution is true but we should use very long string
ex:
12345678901234567891234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
like this...
thanks
ProgramFOX 29-Dec-12 12:49pm

Orhss 29-Dec-12 13:25pm

right,but we should not use biginteger class and arithmetic operations
ProgramFOX 29-Dec-12 13:28pm

Why not?
Orhss 29-Dec-12 13:37pm

our project
ProgramFOX 29-Dec-12 13:38pm

I don't understand.
Orhss 29-Dec-12 13:38pm

i think so we do with multi arrays
ProgramFOX 29-Dec-12 13:39pm

So?
Why should you not use BigInteger in your project?
Sergey Alexandrovich Kryukov 29-Dec-12 21:54pm

Gibberish. Unless you clearly explain why not BigInteger, no one will take is seriously.
—SA
Orhss 29-Dec-12 13:41pm

using System;

class Program
{
static void Main()
{
string number1 = "12345678978945612378945612378945612378945664563214722155278954";
string number2 = "7894561233214569877896541233214569874563258966558632889625";
Console.WriteLine(number3);
}

static string Add(string n1, string n2)
{
int len1 = n1.Length;
int len2 = n2.Length;
int max = Math.Max(len1, len2);
int[] ia1 = new int[max];
int[] ia2 = new int[max];
int[] ia3 = new int[max + 1]; // allow for carry forward
for(int i = max - len1; i < max; i++) ia1[i] = n1[i + len1 - max] - 48;
for(int i = max - len2; i < max; i++) ia2[i] = n2[i + len2 - max] - 48;
int sum = 0;
int carry = 0;

for(int i = max - 1; i >= 0; i--)
{
sum = ia1[i] + ia2[i] + carry;
ia3[i + 1] = sum % 10;
carry = sum / 10;
}

if (carry == 1) ia3[0] = 1;
char[] c3 = new char[max + 1];
for(int i = 0; i < max + 1; i++) c3[i] = (char)(ia3[i] + 48);
return new string(c3).TrimStart('0');
}
}
Orhss 29-Dec-12 13:42pm

like this
but we dont use arithmetic operators
Orhss 29-Dec-12 13:48pm

im a student our lecturer wants to without biginteger class
ProgramFOX 29-Dec-12 14:22pm

I understand. In that case, have a look at Solution 3.

Top Experts
Last 24hrsThis month
 OriginalGriff 288 ppolymorphe 149 Graeme_Grant 95 kp564 70 Pat O'Brien 50
 OriginalGriff 4,563 RickZeeland 1,844 ppolymorphe 1,698 F-ES Sitecore 1,553 Dave Kreskowiak 1,349