posted 8 years ago
Hey 
I am trying to write a program that takes an input of a file formatted as such:
The problem is that these numbers are far too large to use an int, probably even a float once you get down to many operations including powers. So I would like to use an array of bytes in order to calculate the number correctly.
My problem is that I have absolutely no idea where to start. Can anybody give me any pointers?
I am trying to write a program that takes an input of a file formatted as such:
etc, where after number1 there is a sequence of number  operator. Then the math for doing it should be number 1 (operator 1) number 2 = new numbernumber1
number2
operator1
number3
operator2
The problem is that these numbers are far too large to use an int, probably even a float once you get down to many operations including powers. So I would like to use an array of bytes in order to calculate the number correctly.
My problem is that I have absolutely no idea where to start. Can anybody give me any pointers?
D diller
Greenhorn
Posts: 29
posted 8 years ago
Obviously you are supposed to think through the algorithms you are using.
Try an int[] where each member of the array represents a decimal digit, and maybe a boolean flag for positive and negative. You can go through from right to left adding numbers at different positions and use the / and % operators to obtain the result and the carry. That's adding. Then work out how to do subtracting multiplying and dividing.
Powers are much more difficult; unless they are whole numbers, they use logs and cannot be readily implemented by this method. The quickest way to implement powers is probably to use a recursive method. It isn't difficult, but I can't remember just at the moment how to do it.
Try an int[] where each member of the array represents a decimal digit, and maybe a boolean flag for positive and negative. You can go through from right to left adding numbers at different positions and use the / and % operators to obtain the result and the carry. That's adding. Then work out how to do subtracting multiplying and dividing.
Powers are much more difficult; unless they are whole numbers, they use logs and cannot be readily implemented by this method. The quickest way to implement powers is probably to use a recursive method. It isn't difficult, but I can't remember just at the moment how to do it.
D diller
Greenhorn
Posts: 29
posted 8 years ago
You might be able to get some ideas from the Arbitraryprecision arithmetic wiki article
Some problems are so complex that you have to be highly intelligent and well informed just to be undecided about them.  Laurence J. Peter
Live a little! The night is young! And we have umbrellas in our drinks! This umbrella has a tiny ad:
The WEB SERVICES and JAXRS Course
https://coderanch.com/t/690789/WEBSERVICESJAXRS
