Zadanie 61 (4p)
Napisać i przetestować w programie własne metody:
* String
intToBinString1(int
n), która dla liczby
całkowitej n
(typu int,
podanej w systemie dziesiętnym) zwraca jej zapis w systemie
dwójkowym,
w wersji pełnej (32 bitów), np. intToBinString1(14)
-> "0...01110",
* String
intToBinString2(int
n), która dla liczby
całkowitej n
(typu int,
podanej w systemie dziesiętnym) zwraca jej zapis w systemie
dwójkowym,
w wersji skróconej, bez zbędnych zer, np. intToBinString2(14)
-> "1110",
jednocześnie metody te mają wyprowadzić na konsolę pozycje zer w reprezentacji dwójkowej podanej liczby (najmłodszy bit ma pozycję 0).
Zadanie 62 (3p)
Napisać i przetestować w programie własną metodę int
binStringToInt(String
b), która dla łańcucha b
(reprentującego zapis dwójkowy liczby całkowitej typu int)
zwraca jej zapis w systemie dziesiętnym, np. binStringToInt("1110")
-> 14.
Zadanie 63 (3p)
Napisać program, który zlicza ile razy następuje zmiana z 0 na 1 i z 1 na 0 w pełnej (32-bitowej) reprezentacji dwójkowej jawnie podanej liczby całkowitej (typu int) i na jakich pozycjach. Np. dla liczby -5, która jest reprezentowana w systemie dwójkowym jako "1...1011", liczba zmian to 2, i występują one na pozycjach (1,2) i (2,3) (najmłodszy bit ma pozycję 0).
Zadanie 64 (3p)
Napisać program, który wyznacza wartość liczby powstałej z podanej liczby, po lustrzanym odbiciu jej dwójkowej reprezentacji, np. 2147483647 (01...1) - > -2 (1...10).