-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Grzegorz Krukowski <r...@o...pl>
Newsgroups: pl.comp.programming
Subject: Re: kodowanie
Date: Fri, 05 Nov 2010 14:35:27 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 70
Message-ID: <i...@4...com>
References: <iaf4vj$bul$1@mx1.internetia.pl> <iaha2l$ti6$1@mx1.internetia.pl>
<iahdna$ruq$1@node1.news.atman.pl> <iak1mr$h1o$1@mx1.internetia.pl>
<iak2u4$a9s$1@node1.news.atman.pl> <ib0l9o$t0r$1@mx1.internetia.pl>
NNTP-Posting-Host: ti0010a380-1200.bb.online.no
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1288964129 5452 85.164.164.178 (5 Nov 2010 13:35:29 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 5 Nov 2010 13:35:29 +0000 (UTC)
X-Newsreader: Forte Agent 6.00/32.1186
X-User: registered.user
Xref: news-archive.icm.edu.pl pl.comp.programming:187236
[ ukryj nagłówki ]On Fri, 5 Nov 2010 11:07:12 +0100, "identifikator: 20040501"
<N...@g...pl> wrote:
>>>> indeks_cyfry = 0;
>>>> while (liczba != 0) {
>>>> cyfry[indeks_cyfry++] = liczba % podstawa_systemu;
>>>> liczba = liczba / podstawa_systemu;
>>>> }
>
>uderz w stół - już jakiś doktorkowy kretyn zadał zadanie abiturientom
>związane z tym algorytmem - widzę po aukcjach na zleceniach...
Tak przejżałem Twoje inne wypowiedzi i ty jesteś z tych ,,genialnych
praktyków'' co im system edukacji zaszkodził.
>
>czy ten algorytm sygnowany jest jakimś nazwiskiem odkrywcy?
>bardzo ciekawi mnie jak można matematycznie wyprowadzić ten algorytm?
>może Ktoś zna jakąś stronkę?
Wynika wprost z budowy systemu pozycyjnego. Każda liczba jest sumą
takich elementów:
stała*podstawa^pozycja
gdzie stała jest od 0 do pozycja (dla 10ego 0-9),
podstawa to wiadomo (10 dla 10ego),
pozycja to rząd, liczony od zera.
I tak liczba 1856 to w systemie 10tnym:
1*10^3 + 8*10^2 + 5*10^1 + 6*10^0
Do tego zachodzi zawsze taka właściwość że suma składników od rzędu
zerowego do n-1 jest zawsze mniejsza od liczby podstawa^n.
Praktycznie używane to jest przy dzieleniu modulo i z resztą:
1856 podzielić przez 10 da nam 1 i reszty 856
|- wynik dzielenia całkowitego
|
1*10^3 + 8*10^2 + 5*10^1 + 6*10^0
------------------------ to jest reszta z dzielenia
Aby przeliczyć na innę podstawę to musisz:
wyliczyć maksymalny rząd liczby ze wzoru
log_nowa_podstawa(liczba) - za rząd przyjmujemy największą
liczbę całkowitą nie większą niż wartość tego logarytmu
log_7(1856)= 3,86, czyli rząd 3
i teraz iteracyjnie
1856 / 7^3 -> 5 reszty 141
141 / 7^2 -> 2 reszty 43
43 / 7^1 -> 6 reszty 1
1 / 7^0 -> 1 reszty 0
Tak więc 1856 dziesiętnie to 5261 siódemkowo
1*10^3 + 8*10^2 + 5*10^1 + 6*10^0 = 5*7^3 + 2*7^2 + 6*7^1 + 1*7^0
Gdybyś zaczął od rzędu drugiego, czyli:
1856 / 7^2 -> 37 reszty 43
to jeżeli wynik dzielenia całkowitego jest większy niż podstawa-1 to
zacząłeś od zbyt niskiego rzędu.
Ta zasada jest na pewno poprawna dla podstaw będących liczbą
naturalną, czy dla innych - nie wiem.
--
Grzegorz Krukowski
Następne wpisy z tego wątku
- 05.11.10 14:05 identifikator: 20040501
- 05.11.10 14:07 Grzegorz Krukowski
- 05.11.10 14:18 Grzegorz Krukowski
- 05.11.10 14:30 identifikator: 20040501
- 05.11.10 14:44 qwak
- 05.11.10 15:06 Grzegorz Krukowski
- 08.11.10 07:46 fir
- 08.11.10 07:47 fir
- 08.11.10 10:59 Artur M. Piwko
- 08.11.10 11:38 Jędrzej Dudkiewicz
- 09.11.10 07:45 fir
- 09.11.10 08:45 fir
- 09.11.10 15:14 b...@n...pl
- 10.11.10 08:03 fir
- 10.11.10 17:28 Slawek Kotynski
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-07-01 W-wa naklejki wjazd do centrum
- 2024-07-01 ładowarka zmarła
- 2024-07-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z Qt) i D.
- 2024-07-01 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-01 Białystok => Full Stack Web Developer (.Net Core, Angular6+) <=
- 2024-07-01 Berlin => Technical Rollouter (Radio Systems Software Installation and
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Gdańsk => Programista Full Stack .Net <=
- 2024-07-01 Zabrze => Junior HelpDesk <=
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Bielsko-Biała => Expert Migration Architect (Azure) <=
- 2024-07-01 Mini Netykieta polskich grup dyskusyjnych
- 2024-07-01 Re: Jak wypełnić polecenie francuskiego sądu blokowania niektórych zapytań DNS? Blokując Francję
- 2024-07-01 Re: Powtórne wezwanie na PO-komisję uzdrowi Ziobrę już w 10 dni
- 2024-07-01 CA -- problem z logowaniem