@Test
public void testModulo() {
//znak wyniki jest równy znakowi liczby przed %!!
assertEquals(-5 % -2, -1);
assertEquals(-5 % 2, -1);
assertEquals( 5 % -2, 1);
assertEquals( 5 % 2, 1);
assertEquals(-9 % -5, -4);
assertEquals(-9 % 5, -4);
assertEquals( 9 % -5, 4);
assertEquals( 9 % 5, 4);
//pass all
}
22 lut 2010
Reszta z dzielenia
Przesunięcia bitowe
@Test
public void PrzesTest(){
assertEquals(23>>33, 23>>1); //pass
assertEquals(23<<33, 23<<1); //pass
assertEquals(23>>>33, 23>>>1); //pass
//ujemne
assertEquals(-23>>33, -23>>1); //pass
assertEquals(-4<<1, -8); //pass
assertEquals(1>>1, 0); //pass
}
Dzielenie przez zero
@Test
public void DivByZero(){
//int i=3/0;
//prn(i); //runtime-error
float f=1.0f/0;
prn(f); //print Infinity
double d=1.0/0;
prn(d); //print Infinity
//ciekawostka 1.0 jest doublem!!
int licznik=1;
int mianownik=0;
// int wynik=licznik/mianownik; //runtime-error
//MOD
int wynik=licznik%1;
prn(wynik); //wynik =0
//!int wynik=licznik%0; runtime error!
prn(wynik); //wynik =0
float ff= 5%0.3f;
prn(ff); //0.199999
float fff= 5%0.0f;
prn(fff); //NaN
float fy=1.0f/0.0f;
prn(fy); //Infinity
}
Subskrybuj:
Posty (Atom)