Hey peeps,Code:`int number = 25;`

int newNumber = number/2;

Anyone know how I can make this so newNumber is a whole number without a remainder but also rounds it down so the outcome is 22?

Thanks!

Rob

Printable View

- 03-13-2009, 12:54 AMRobertFhow to discard remainder on division?Code:
`int number = 25;`

int newNumber = number/2;

Anyone know how I can make this so newNumber is a whole number without a remainder but also rounds it down so the outcome is 22?

Thanks!

Rob - 03-13-2009, 12:59 AMemceenugget
int 25/2 isn't 22. it's 12. i don't get any kind of mathematical process that would result in 22 using division and the numbers 25 and 2.

what have you tried and gotten as your output so far? - 03-13-2009, 01:00 AMRobertF
sorry made typo! I mean 12

- 03-13-2009, 01:04 AMemceenugget
so what does your code that you gave do? i'm pretty sure you already have your answer.

- 03-13-2009, 01:08 AMRobertF
ah damn.. sorry, It must be something else in my code :( Been stuck on it all night

Code:`int decimal = 100;`

int[] array = {};

for(int i=0; decimal>= 0; i++){

if(decimal%2 == 0){

array[i]=0;

}else{

array[i]=1;

}

decimal= decimal/2;

}

- 03-13-2009, 01:35 AManteup
Your original question was "how to discard a remainder?" is there another question you have or is it still the same one??

- 03-13-2009, 01:39 AMRobertF
It's another one, I realised it must have been something else in my code to why it wasn't working.. I've updated it now though its:

Code:`int decimalNum = 100;`

int[] array;

array = new int[38];

for(int i=0; decimalNum> 0; i++){

if(decimalNum%2 == 0){

array[i]=0; System.out.println(array[i]);

}else{

array[i]=1; System.out.println(array[i]);

}

decimalNum = decimalNum/2;

}

array[1] = 0

array[2] = 0

array[3] = 1

array[4] = 0

array[5] = 0

array[6] = 1

array[7] = 1

but then there's also array [8] to [37] which contain "0" is there anyway of not having to tell the array how many spaces to allocate? so the loop will add to it, instead of replace the current ones?

the binary is backwards in the array but I can probably sort that out somehow. - 03-13-2009, 02:00 AManteup
If im understanding what your asking Im going to tell you to instead of using a for loop, because you use a for loop when you know how many times you what your loop to run, try using a while loop, so while(your condition) {

your code

} - 03-13-2009, 02:27 AMFubarable
It might be easier to manipulate a String and char array via

Code:`String binaryString = Integer.toBinaryString(decimalNum);`

- 03-13-2009, 12:20 PMRobertF
Thanks for your replies =] managed to sort it out !