Strona 1 z 1

Wyznaczanie długości liczby w różnych systemach liczbowych

: 21 lut 2017, o 23:44
autor: Inpregnabler
Witam serdecznie,

Szukam odpowiedzi/wzoru/schematu działania na pytanie: Jaką długość liczba 'x', zapisana w danym systemie liczbowym (dajmy na to: 'b'; dwójkowy, czwórkowy itd.), ma w innym systemie (dajmy na to: 'c' ; dwójkowy, czwórkowy itd.).
Nie byłem w stanie znaleźć niczego konkretnego, tak więc proszę was o pomoc.

Jeśli można, chciałbym prosić o jakiś konkretny przykład.
Z góry dziękuję za odpowiedź! :)

Wyznaczanie długości liczby w różnych systemach liczbowych

: 21 lut 2017, o 23:59
autor: a4karo
Przyjrzyj się związkowi długości zapisu liczby w układzie dzisiejszym z logarytmem dziesietnym tejże.

Taka sama zależność odkryjesz przy podstawie \(\displaystyle{ b}\) i \(\displaystyle{ \log_b}\).

Pomyśl dlaczego.

Wyznaczanie długości liczby w różnych systemach liczbowych

: 22 lut 2017, o 00:36
autor: Inpregnabler
Po wstępnym przeanalizowaniu problemu, widząc że np:
\(\displaystyle{ \log_{10} \ 100 \ = \ 2}\)
tak więc, że potęga może oznaczać długość liczby, ale trzeba to lekko zmodyfikować?
Czyli np. Zauważając, że logarytm o tej samej podstawie z liczby inkrementowanej ulega minimalnemu powiększeniu, dalej jest to jednak w przybliżeniu '2' i nadal będzie, dopóki nie dojdziemy z inkrementacją do liczby która odpowiada potęgowanej podstawie. Tak więc:

\(\displaystyle{ |x| \ > \ \log_b \ x \ \geqslant \ |x| \ - \ 1}\)

I odpowiedzią jest liczba naturalna znaleziona w danym przedziale?

Wyznaczanie długości liczby w różnych systemach liczbowych

: 22 lut 2017, o 01:07
autor: samorajp
Używanie symbolu wartości bezwzględnej jako funkcji, która zwraca długość w systemie o podstawie b jest nieco mylące.

Idziesz w dobrą stronę. Do ładnego zapisu całego wzoru przyda Ci się logartym (to już wiesz) i użycie funkcji "podłoga", która zwraca największą liczbę całkowitą, która jest nie większa od argumentu.

Wyznaczanie długości liczby w różnych systemach liczbowych

: 22 lut 2017, o 08:26
autor: a4karo
Inpregnabler pisze:Po wstępnym przeanalizowaniu problemu, widząc że np:
\(\displaystyle{ \log_{10} \ 100 \ = \ 2}\)
tak więc, że potęga może oznaczać długość liczby, ale trzeba to lekko zmodyfikować?
Czyli np. Zauważając, że logarytm o tej samej podstawie z liczby inkrementowanej ulega minimalnemu powiększeniu, dalej jest to jednak w przybliżeniu '2' i nadal będzie, dopóki nie dojdziemy z inkrementacją do liczby która odpowiada potęgowanej podstawie. Tak więc:

\(\displaystyle{ |x| \ > \ \log_b \ x \ \geqslant \ |x| \ - \ 1}\)

I odpowiedzią jest liczba naturalna znaleziona w danym przedziale?

A cóż Ty tutaj inkrementujesz? (brrr, paskudztwo. Zgaduję, że chciałeś coś zwiększać)

Jeżeli oznaczysz przez \(\displaystyle{ M_b(x)}\) ilosc cyfr liczby naturalnej \(\displaystyle{ x}\) w zapisie przy podstawie \(\displaystyle{ b}\), to \(\displaystyle{ M_b(x)=\lfloor\log_b x\rfloor+1}\).

Bierze się to stąd, że \(\displaystyle{ n+1}\) cyfr w zapisie przy podstawie \(\displaystyle{ b}\) maja liczby spełniające nierówność \(\displaystyle{ b^n\leq x<b^{n+1}}\)

Wyznaczanie długości liczby w różnych systemach liczbowych

: 22 lut 2017, o 20:39
autor: Inpregnabler
samorajp pisze:Używanie symbolu wartości bezwzględnej jako funkcji, która zwraca długość w systemie o podstawie b jest nieco mylące.

Idziesz w dobrą stronę. Do ładnego zapisu całego wzoru przyda Ci się logartym (to już wiesz) i użycie funkcji "podłoga", która zwraca największą liczbę całkowitą, która jest nie większa od argumentu.

Dzięki samorajp, tak właśnie zastanawiałem się czy nie będzie to bardziej eleganckie rozwiązanie w tym przypadku. Fakt, prawdą jest, że używanie oznaczeń || może być mylące, przyzwyczaiłem się do używania ich licząc "moc" zbioru, a więc ilość elementów zbioru skończonego
a4karo pisze: A cóż Ty tutaj inkrementujesz? (brrr, paskudztwo. Zgaduję, że chciałeś coś zwiększać)

Jeżeli oznaczysz przez \(\displaystyle{ M_b(x)}\) ilosc cyfr liczby naturalnej \(\displaystyle{ x}\) w zapisie przy podstawie \(\displaystyle{ b}\), to \(\displaystyle{ M_b(x)=\lfloor\log_b x\rfloor+1}\).

Bierze się to stąd, że \(\displaystyle{ n+1}\) cyfr w zapisie przy podstawie \(\displaystyle{ b}\) maja liczby spełniające nierówność \(\displaystyle{ b^n\leq x<b^{n+1}}\)
W gwoli wyjaśnień:
- "głośno" myśląc i analizując pozwoliłem sobie na rozpisanie zaobserwowanego związku: wyniku liczby logarytmowanej, z teoretyczną liczbą cyfr logarytmowanej liczby w konkretnym systemie liczbowym, tak więc inkrementując liczbę (w informatyce bardzo pomocny mechanizm analizy i testowania) logarytmowaną dochodziłem do punktów (pozwolę je sobie nazwać) przeskokowych, czyli takich, w których wynik liczby logarytmowanej był liczbą naturalną, ale inną niż przed inkrementacją z uwzględnieniem nałożenia napisanej przeze mnie wyżej dziedziny, w której wynik ma się zawierać.
- Sądziłem też, że rozpisując coś "na brudno", bądź rzucanie pewnymi pomysłami, ciężko jest nazwać paskudztwem, szczególnie jakby tak sobie wyobrazić ile to tych "paskudztw" narobił Einstein przy dochodzeniu do wzoru na równoważność masy i energii.

Tak czy inaczej dziękuję za pomoc; ogólny wzór został podany przez a4karo. Temat uważam za zamknięty.

Wyznaczanie długości liczby w różnych systemach liczbowych

: 22 lut 2017, o 22:04
autor: samorajp
Z tym paskudztwem to koledze chodziło chyba o używanie terminów z języka obcego, zamiast użycia rodzimych.

Próba dokonywania odkryć jest jak najbardziej rzeczą szlachetną.