Witam !!
Ja znam coś takiego:
Każdy bit ma swoją wagę w systemie dziesiętnym, wystarczy zsumować wagi bitów o wartości "1" np: 101010 to od prawej:
2 do pot. 5 = 32 (bit=1) =32
2 do pot. 4 = 16 (bit=0) =0
2 do pot. 3 = 8 (bit=1) =8
2 do pot. 2 = 4 (bit=0) =0
2 do pot. 1 = 2 (bit=1) =2
2 do pot. 0 = 1 (bit=0) =0
suma = 32+8+2=42
Aby przeliczyć liczbę dziesiętną na binarną - należy najpierw od tej liczby odjąć najwyższą potęgę dwójki mniejszą od przeliczanej liczby, później postępować tak samo dla pozostałych bitów, gdy waga któregoś bitu znów będzie większa to bit ten będzie miał wartość "1" powtarzamy odejmowanie dla jego wagi. np: 133=
1 * 2 do pot. 7 = 128 (128<133); od 133 odejmujemy wagę tego bitu (128) = 5
0 * 2 do pot. 6 = 64 (64 > 5)
0 * 2 do pot. 5 = 32 (32 > 5)
0 * 2 do pot. 4 = 16 (16 > 5)
0 * 2 do pot. 3 = 8 ( 8 > 5)
1 * 2 do pot. 2 = 4 ( 4 < 5) , od 5 odejmujemy wagę tego bitu (4) = 1
0 * 2 do pot. 1 = 2 ( 2 > 1)
1 * 2 do pot. 0 = 1 ( 1 = 1) , 1-1=0

koniec.
Otrzymaliśmy 133 dec = 10000101 bin
Gdyby to odejmowanie zakończyło się wcześniej trzeba dopisać zera aż do pozycji "2 do pot. 0"
Dla liczb ułamkowych wygląda to tak - liczba 5,75 =
1* 2 do pot. 2 = 4 (4<5,75) , 5,75 - 4 = 1,75
0* 2 do pot. 1 = 2 (2>1,75)
1* 2 do pot. 0 = 1 (1<1,75) , 1,75 - 1 = 0,75 (koniec części całkowitej)
,
1* 2 do pot. -1 = 0,5(0,5<0,75) , 0,75 - 0,5 = 0,25
1* 2 do pot. -2 = 0,25 (0,25 = 0,25) 0,25 - 0,25 = 0 (koniec)
5,75 dec = 101,11 bin
Pozdrawiam - Daniel