[Systemy liczbowe] Ułamki z postaci binarnej na szesnastkową

student113
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 12 sty 2016, o 10:44
Płeć: Mężczyzna
Lokalizacja: Kraków

[Systemy liczbowe] Ułamki z postaci binarnej na szesnastkową

Post autor: student113 »

Witam,
mam zdanie polegające na zamianie ułamków \(\displaystyle{ \frac{25}{64}}\) i \(\displaystyle{ \frac{-37}{128}}\) na kod znak moduł prosty, odwrotny i uzupełnieniowy, oraz przedstawić je w postaci szesnastkowej. Potrafię zamienić ułamki na postać binarną i na odpowiednie kody, ale nie wiem jak następnie zamienić je na postać szesnastkową. Gdyby ktoś mógł to wytłumaczyć, lub podać stronę gdzie to jest dobrze opisane, bo nigdzie nie mogłem znaleźć takiego problemu.
Ostatnio zmieniony 13 sty 2016, o 09:04 przez Afish, łącznie zmieniany 1 raz.
Powód: Całe wyrażenia matematyczne umieszczaj w tagach [latex] [/latex].
OShon
Użytkownik
Użytkownik
Posty: 65
Rejestracja: 4 mar 2014, o 00:32
Płeć: Mężczyzna
Lokalizacja: VBATools | Kraków | Poland | Europe | Earth | SolSystem | SomewareInSpace
Podziękował: 1 raz
Pomógł: 7 razy

[Systemy liczbowe] Ułamki z postaci binarnej na szesnastkową

Post autor: OShon »

U siebie w zapiskach znalazłem taką funkcję działającą jako UDF w Excelu:

Kod: Zaznacz cały

Public Function Zamien_na_hex(wartosc As String)
Dim i&, KodHex$
For i = 1 To Len(wartosc)
    KodHex = KodHex & Hex$(Asc(Mid$(wartosc, i, 1)))
Next
Zamien_na_hex = KodHex
End Function
Tutaj w .NET
A tutaj coś próbowano też w VBA - nie sprawdzałem czy dobrze we wszystkich wątkach - bo daje inne wyniki niż moja funkcja, ale pytający zadowolony.... sprawdź te tropy.
Awatar użytkownika
kropka+
Użytkownik
Użytkownik
Posty: 4389
Rejestracja: 16 wrz 2010, o 14:54
Płeć: Kobieta
Lokalizacja: Łódź
Podziękował: 1 raz
Pomógł: 787 razy

[Systemy liczbowe] Ułamki z postaci binarnej na szesnastkową

Post autor: kropka+ »

W systemie szesnastkowym są oprócz cyfr \(\displaystyle{ 0-9}\) litery
\(\displaystyle{ A – 10, \ B – 11, \ C – 12, \ D – 13, \ E – 14, \ F – 15}\).

\(\displaystyle{ 16=2 ^{4}}\), więc jeden znak w systemie szesnastkowym zastępuje cztery znaki w binarnym.
Np., gdy mamy liczbę całkowitą
\(\displaystyle{ 100100000011 _{2}}\)
To „rozbijamy” ją na czwórki i mamy:
\(\displaystyle{ 1001 \ 0000 \ 0011 _{2} = 9 0 3 _{16}}\)

Pokombinuj z ułamkami.
ODPOWIEDZ