-
11. Data: 2014-10-26 15:56:16
Temat: Re: inne sposokodowania inta
Od: firr <p...@g...com>
W dniu niedziela, 26 października 2014 15:40:17 UTC+1 użytkownik bartekltg napisał:
> On 26.10.2014 13:51, firr wrote:
> > W dniu niedziela, 26 października 2014 13:04:14 UTC+1 użytkownik
> > bartekltg napisał:
> >> On 26.10.2014 12:17, firr wrote:
> >>> zatanawiam sie czy przypadkiem nie daloby sie wymyslec jakiegos
> >>> innego sposobu enkodowania integerow w slowach niz ten popularny
> >>>
> >>> 0- 00000000 1- 00000001 2- 00000010 3- 00000011 4- 00000100 ...
> >>>
> >>> moze jakis inny dawalby jakies uproszczenia przy kodowaniu czesci
> >>> operacji arytmetycznych?
> >>
> >> Ten standardowy, czyli uzupełnieni owy do 2, już daje
> >> uproszczenia,
> >
> > chodzi mnie ni teyle o kodowanie ujemnych co o zwykle inne kodowanie
> > naturalnych, np takie ktore nieco mnie pomagalo by w dodawaniu ale np
> > nieco wiecej w czyms innym
>
> Poczytaj, będziesz miał zalety i wady danych kodowań.
>
> >
> > przyklady takiego innego kodowania 0-00000000 1-00000001 2-00000010
> > 3-00000100 4-00001000 5-00010000
>
> I jak wygląda 4*5=20?
>
> http://en.wikipedia.org/wiki/Unary_numeral_system
>
> >
> > ten jest ew akurat pewnie malo uzyteczny (i niedokonczony) ale
> > powstaje przynajmniej pytanie czy ten zwykly jest jedynym jako tako
> > naturalnym czy istnieje jeszcze jakis 'podobnie' naturalny
>
> System pozycyjny wydaje się najwygodniejszy do operacji arytmetycznych.
>
> Spróbuj sobie pododawać i pomnożyć w liczbach rzymskich.
>
> > jest to zagadnienie nieco moze akademickie ale przynajmniej warto
> > zarysowac ze jest taki problem ;o
>
binarny jest pozycyjny, ale np teraz na koncu pisania tego watku wyszlo np takie
spostrzezenie
1) dziesietny moze byc lepszy niz binarny
(bo nie trzeba az tyle tych przeniesien
tylko owiele mniej)
2)e np czasem moglby sie moze przydac taki rozdmuchany pozycyjny, kazda pozycja co
dziesiec (1.10.100.1000) ale by mozna trzymac tam wiecej niz tylko noznik z zakreso
0-9 ale
np 0-100) przeniesienia wykonujac w miare potrzeby a nie zawsze
- byc moze jeszcze jakos inaqczej mozna bydobrac ta wielomianowa baze 1-10-100-1000
na jakas inna
(taki podzial tez na te 'kubki' czyli wyzsza baze przydalby sie przy dzieleniu, bo w
tej wersji dosyc wyrazniewidze jak mozna napisac
szybki algorytm dzilenia - kazdy kubek trzeba
obdarzyc porzyczka do wielokrotnosci dzielnika
i szybko da sie podzielic)... no ale niewazne
kiedy indziej moze pomysle o tym wiecej na razie nie mam czasu
-
12. Data: 2014-10-26 16:21:24
Temat: Re: inne sposokodowania inta
Od: firr <p...@g...com>
W dniu niedziela, 26 października 2014 15:55:44 UTC+1 użytkownik bartekltg napisał:
> On 26.10.2014 14:33, firr wrote:
>
> >
> > 17-13-11-7-5-3-2
> >
> > i tego zapisu np uzywac przy mnozeniach
> > i dzielenich
> >
> > "00 0303" * "02 0010" = "02 0313" (?)
> > i na tym robic mnozenia i dzielenia
> > (jest to banalne
> > dosyc ale warto kiedys troche przemyslec
> > takie sprawy, moze jakies rodzeje kodow
> > na czyms takim by dzialaly szybciej
> > - z kolei ciekawe jak trudne na takim czyms byloby dodawanie ;< bo wyglada na
trudne
>
> Rozkład na czynniki pierwsze jest kiepskim sposobem na zapis liczb.
> Liczb pierwszych jest dużo!
> W wśród liczb 32 bitowych bez znaku jest 203 280 221 liczb pierwszych!
> Chcesz przeznaczyć 200 mln bitów na liczbę, czy za każdym
> razem trzymać listę kilkunastu par podstawa-wykładnik?
>
> Z tej drugiej metody nawet często korzystam, ale w specyficznych
> teorioliczbowych algorytmach, nie nadaje się to do zwykłych obliczeń.
>
> Zwłaszcza, że dodawanie jest tak trudne, jak rozkład na czynniki
> pierwsze! Trzeba przerobić nasz kod na nortmlaą liczbę, dodać,
> a następnie znów rozłożyć. Jeśli dałoby się prosciej, mielibyśmy
> prosty i skuteczny algorytm rozkładu dowolnej liczby:)
>
> pzdr
> bartekltg
mozliwe, jesli jakies oblicznie sklada sie
z n mnozen i m dodawan to jesli tutaj te mnozenia stalyby sie niezwykle tanie to
dodawania niezywkle ciezkie ;o ale nie wiem
jak to dokladnie jestz tymi dodawaniami,
ale pokombinowac mozna liczby w tej reprezentacji maja np pewnie ta zalete ze mozna
je stablicowac (np chociaz 65 tys wtedy dodawania robiloby sie przez look up a
mnozenia dzielenia przez dodawania)
- co prawda to moze troche w przyblizeniu
bo wczesniej trzebeby wyszukac w tablicy ta pierwsza 'pierwszowa' liczbe pozatym
mnozenie i tak jest szybkie ale pokombinowac zawsze mozna ;/;/
-
13. Data: 2014-10-26 16:58:00
Temat: Re: inne sposokodowania inta
Od: Piotr <S...@w...pl>
Dnia 26.10.2014 firr <p...@g...com> napisał/a:
>> przyklady takiego innego kodowania
> 0-00000000
> 1-00000001
> 2-00000010
> 3-00000100
> 4-00001000
> 5-00010000
> 6-00100000
> 7-01000000
>
> tutaj na przyklad mnozenie 6*7 mozna by zapisac
>
> 6*7 = 01100000
>
> problem natomiast bylby z wyrazaniem takich liczb jak 7*7*7.. itp ale pokombinowac
nad innymi sposobami enkodowania zawsze mozna
Obecnie mnozenie liczb calkowitych to nie problem, w procesorze
wstawia sie 8-bitowa tabliczke mnozenia (po prostu zwykly ROM,
mlodszy bajt 16-bitowego adresu to jeden czynnik, starszy bajt to
drugi czynnik a na 16-bitowej szynie danych od razu pojawia sie
wynik), mnozenie wiekszych liczb robi sie "pisemnie". Zreszta w
takim 6502 nie bylo maszynowego mnozenia i "dalo sie zyc" -
wystarczylo przesuwanie bitow i dodawanie :) Wymyslasz problemy tam
gdzie ich nie ma :)
-
14. Data: 2014-10-26 17:17:16
Temat: Re: inne sposokodowania inta
Od: bartekltg <b...@g...com>
On 26.10.2014 15:56, firr wrote:
> W dniu niedziela, 26 października 2014 15:40:17 UTC+1 użytkownik bartekltg napisał:
>> On 26.10.2014 13:51, firr wrote:
>>> W dniu niedziela, 26 października 2014 13:04:14 UTC+1 użytkownik
>>> bartekltg napisał:
>>>> On 26.10.2014 12:17, firr wrote:
>>>>> zatanawiam sie czy przypadkiem nie daloby sie wymyslec jakiegos
>>>>> innego sposobu enkodowania integerow w slowach niz ten popularny
>>>>>
>>>>> 0- 00000000 1- 00000001 2- 00000010 3- 00000011 4- 00000100 ...
>>>>>
>>>>> moze jakis inny dawalby jakies uproszczenia przy kodowaniu czesci
>>>>> operacji arytmetycznych?
>>>>
>>>> Ten standardowy, czyli uzupełnieni owy do 2, już daje
>>>> uproszczenia,
>>>
>>> chodzi mnie ni teyle o kodowanie ujemnych co o zwykle inne kodowanie
>>> naturalnych, np takie ktore nieco mnie pomagalo by w dodawaniu ale np
>>> nieco wiecej w czyms innym
>>
>> Poczytaj, będziesz miał zalety i wady danych kodowań.
>>
>>>
>>> przyklady takiego innego kodowania 0-00000000 1-00000001 2-00000010
>>> 3-00000100 4-00001000 5-00010000
>>
>> I jak wygląda 4*5=20?
>>
>> http://en.wikipedia.org/wiki/Unary_numeral_system
>>
>>>
>>> ten jest ew akurat pewnie malo uzyteczny (i niedokonczony) ale
>>> powstaje przynajmniej pytanie czy ten zwykly jest jedynym jako tako
>>> naturalnym czy istnieje jeszcze jakis 'podobnie' naturalny
>>
>> System pozycyjny wydaje się najwygodniejszy do operacji arytmetycznych.
>>
>> Spróbuj sobie pododawać i pomnożyć w liczbach rzymskich.
>>
>>> jest to zagadnienie nieco moze akademickie ale przynajmniej warto
>>> zarysowac ze jest taki problem ;o
>>
>
> binarny jest pozycyjny, ale np teraz na koncu pisania tego watku wyszlo np takie
spostrzezenie
> 1) dziesietny moze byc lepszy niz binarny
> (bo nie trzeba az tyle tych przeniesien
> tylko owiele mniej)
Bzdura.
Na dzień dobry pomyśl, jak chesz zapisać tą liczbę dziesietną.
O systemie udającym dziesietnym linka dostałeś, jest tam lista zalet
(i wad)
> 2)e np czasem moglby sie moze przydac taki rozdmuchany pozycyjny,
> kazda pozycja co dziesiec (1.10.100.1000) ale by mozna trzymac tam
> wiecej niz tylko noznik z zakreso 0-9 ale np 0-100) przeniesienia
> wykonujac w miare potrzeby a nie zawsze
Ale to mówisz o implementacji wielkich liczb. To osobna sprawa.
Dla małych (64bity) nie m to sensu.
>
> - byc moze jeszcze jakos inaqczej mozna bydobrac ta wielomianowa baze 1-10-100-1000
> na jakas inna
> (taki podzial tez na te 'kubki' czyli wyzsza baze przydalby sie przy dzieleniu, bo
w tej wersji dosyc wyrazniewidze jak mozna napisac
> szybki algorytm dzilenia - kazdy kubek trzeba
> obdarzyc porzyczka do wielokrotnosci dzielnika
CZYM?
To takie coś od "porzygania"?
> i szybko da sie podzielic)... no ale niewazne
> kiedy indziej moze pomysle o tym wiecej na razie nie mam czasu
Mylisz się co do zalet przy dzieleniu.
pzdr
bartegkltg
-
15. Data: 2014-10-26 17:20:28
Temat: Re: inne sposokodowania inta
Od: bartekltg <b...@g...com>
On 26.10.2014 16:21, firr wrote:
> W dniu niedziela, 26 października 2014 15:55:44 UTC+1 użytkownik bartekltg napisał:
>> On 26.10.2014 14:33, firr wrote:
>>
>>>
>>> 17-13-11-7-5-3-2
>>>
>>> i tego zapisu np uzywac przy mnozeniach
>>> i dzielenich
>>>
>>> "00 0303" * "02 0010" = "02 0313" (?)
>>> i na tym robic mnozenia i dzielenia
>>> (jest to banalne
>>> dosyc ale warto kiedys troche przemyslec
>>> takie sprawy, moze jakies rodzeje kodow
>>> na czyms takim by dzialaly szybciej
>>> - z kolei ciekawe jak trudne na takim czyms byloby dodawanie ;< bo wyglada na
trudne
>>
>> Rozkład na czynniki pierwsze jest kiepskim sposobem na zapis liczb.
>> Liczb pierwszych jest dużo!
>> W wśród liczb 32 bitowych bez znaku jest 203 280 221 liczb pierwszych!
>> Chcesz przeznaczyć 200 mln bitów na liczbę, czy za każdym
>> razem trzymać listę kilkunastu par podstawa-wykładnik?
>>
>> Z tej drugiej metody nawet często korzystam, ale w specyficznych
>> teorioliczbowych algorytmach, nie nadaje się to do zwykłych obliczeń.
>>
>> Zwłaszcza, że dodawanie jest tak trudne, jak rozkład na czynniki
>> pierwsze! Trzeba przerobić nasz kod na nortmlaą liczbę, dodać,
>> a następnie znów rozłożyć. Jeśli dałoby się prosciej, mielibyśmy
>> prosty i skuteczny algorytm rozkładu dowolnej liczby:)
>>
>> pzdr
>> bartekltg
>
> mozliwe, jesli jakies oblicznie sklada sie z n mnozen i m dodawan to
> jesli tutaj te mnozenia stalyby sie
niezwykle tanie to dodawania niezywkle ciezkie ;o ale nie wiem
> jak to dokladnie jestz tymi dodawaniami,
Przeczytaj raz jeszcze opis, jak to wygląda.
Mnożenie nadal jest wolniejsze niż tradycyjne!
> ale pokombinowac mozna liczby w tej reprezentacji maja np pewnie ta
> zalete ze mozna je stablicowac (np chociaz 65 tys wtedy dodawania
> robiloby sie przez look up a mnozenia dzielenia przez dodawania) - co
Na co mi liczby do 65tys? Chyba na malutkich maszynach, na których
nie masz pamięći na swoją tablicę.
Nawet mając taką tablicę, rozkład trwa więcej niż zwykłe mnożenie.
pzdr
bartegkltg
-
16. Data: 2014-10-26 17:44:57
Temat: Re: inne sposokodowania inta
Od: firr <p...@g...com>
W dniu niedziela, 26 października 2014 17:20:29 UTC+1 użytkownik bartekltg napisał:
> On 26.10.2014 16:21, firr wrote:
> > W dniu niedziela, 26 października 2014 15:55:44 UTC+1 użytkownik bartekltg
napisał:
> >> On 26.10.2014 14:33, firr wrote:
> >>
> >>>
> >>> 17-13-11-7-5-3-2
> >>>
> >>> i tego zapisu np uzywac przy mnozeniach
> >>> i dzielenich
> >>>
> >>> "00 0303" * "02 0010" = "02 0313" (?)
> >>> i na tym robic mnozenia i dzielenia
> >>> (jest to banalne
> >>> dosyc ale warto kiedys troche przemyslec
> >>> takie sprawy, moze jakies rodzeje kodow
> >>> na czyms takim by dzialaly szybciej
> >>> - z kolei ciekawe jak trudne na takim czyms byloby dodawanie ;< bo wyglada na
trudne
> >>
> >> Rozkład na czynniki pierwsze jest kiepskim sposobem na zapis liczb.
> >> Liczb pierwszych jest dużo!
> >> W wśród liczb 32 bitowych bez znaku jest 203 280 221 liczb pierwszych!
> >> Chcesz przeznaczyć 200 mln bitów na liczbę, czy za każdym
> >> razem trzymać listę kilkunastu par podstawa-wykładnik?
> >>
> >> Z tej drugiej metody nawet często korzystam, ale w specyficznych
> >> teorioliczbowych algorytmach, nie nadaje się to do zwykłych obliczeń.
> >>
> >> Zwłaszcza, że dodawanie jest tak trudne, jak rozkład na czynniki
> >> pierwsze! Trzeba przerobić nasz kod na nortmlaą liczbę, dodać,
> >> a następnie znów rozłożyć. Jeśli dałoby się prosciej, mielibyśmy
> >> prosty i skuteczny algorytm rozkładu dowolnej liczby:)
> >>
> >> pzdr
> >> bartekltg
> >
> > mozliwe, jesli jakies oblicznie sklada sie z n mnozen i m dodawan to
> > jesli tutaj te mnozenia stalyby sie
> niezwykle tanie to dodawania niezywkle ciezkie ;o ale nie wiem
> > jak to dokladnie jestz tymi dodawaniami,
>
> Przeczytaj raz jeszcze opis, jak to wygląda.
> Mnożenie nadal jest wolniejsze niż tradycyjne!
>
> > ale pokombinowac mozna liczby w tej reprezentacji maja np pewnie ta
> > zalete ze mozna je stablicowac (np chociaz 65 tys wtedy dodawania
> > robiloby sie przez look up a mnozenia dzielenia przez dodawania) - co
>
> Na co mi liczby do 65tys? Chyba na malutkich maszynach, na których
> nie masz pamięći na swoją tablicę.
> Nawet mając taką tablicę, rozkład trwa więcej niż zwykłe mnożenie.
>
>
>
> pzdr
> bartegkltg
o dobra, a pominawszy to 9bo nie che mi sie klocic) jak np szybko podzilic losowa
liczbe
(unsigned 32 bit) przez np 17?
chodzi o wyznaczenie wyniku dzielenia i reszty
(o czybki reczny algorytm z mnozen dodawan i odejmowan).. sa to podstawy nie czesto
moze
niezbedne w praktyce ale warto by sie kiedys nauczyc
-
17. Data: 2014-10-26 18:52:39
Temat: Re: inne sposokodowania inta
Od: firr <p...@g...com>
w sumie co do tego dzielenia to zawsze mnie ciekawilo a do dzis nie wiem, przy
dzieleniu
mamy na ogol taka sytuacje
1XXXXXXXXXXX
/ 1XXXXXX
sa dwa ciagi zaczynajace sie na 1 pierwszy jest dluzszy niz drugi o pare bitów - czy
z tej postaci nie wnikajac w te tylne bity da sie oszacowac wynik? tak by go ew uzyc
do pomnozenia krotszej i po odjeciu np powtorzyc
iteracje czy cos w tym stylu
?
-
18. Data: 2014-10-26 21:38:26
Temat: Re: inne sposokodowania inta
Od: "R.e.m.e.K" <p...@w...pl>
Dnia Sun, 26 Oct 2014 17:17:16 +0100, bartekltg napisał(a):
>> (bo nie trzeba az tyle tych przeniesien tylko owiele mniej)
>
> Bzdura.
>
> Na dzień dobry pomyśl, jak chesz zapisać tą liczbę dziesietną.
Za duzo od niego wymagasz!
> O systemie udającym dziesietnym linka dostałeś, jest tam lista zalet
> (i wad)
Naprawde, ale tak serio, myslisz, ze on czyta te linki? Baaa... ze go to w ogole
INTERESUJE? On ma to gleboko w dupie! Jego interesuje wymyslanie.. nie... nie
wymyslanie... fantazjowanie (sic!) na tematy okolomatematyczno-programistyczne. Nawet
nie
naukowe fantazjowanie, lecz zwykle fantasy by firr - bez zadnego kontekstu, podstaw i
w
ostatecznosci... sensu.
>> obdarzyc porzyczka do wielokrotnosci dzielnika
>
> CZYM?
> To takie coś od "porzygania"?
od porzygania porzeczkami :-)
>> i szybko da sie podzielic)... no ale niewazne
>> kiedy indziej moze pomysle o tym wiecej na razie nie mam czasu
>
> Mylisz się co do zalet przy dzieleniu.
Mylenie to fundamentalna metoda dzialania w jego uniwersum absurdu.
--
pozdro
R.e.m.e.K
-
19. Data: 2014-10-26 21:43:48
Temat: Re: inne sposokodowania inta
Od: A.L. <a...@a...com>
On Sun, 26 Oct 2014 21:38:26 +0100, "R.e.m.e.K"
<p...@w...pl> wrote:
>Dnia Sun, 26 Oct 2014 17:17:16 +0100, bartekltg napisał(a):
>
>>> (bo nie trzeba az tyle tych przeniesien tylko owiele mniej)
>>
>> Bzdura.
>>
>> Na dzień dobry pomyśl, jak chesz zapisać tą liczbę dziesietną.
>
>Za duzo od niego wymagasz!
>
>> O systemie udającym dziesietnym linka dostałeś, jest tam lista zalet
>> (i wad)
>
>
>Naprawde, ale tak serio, myslisz, ze on czyta te linki? Baaa... ze go to w ogole
>INTERESUJE? On ma to gleboko w dupie! Jego interesuje wymyslanie.. nie... nie
>wymyslanie... fantazjowanie (sic!) na tematy okolomatematyczno-programistyczne.
Nawet nie
>naukowe fantazjowanie, lecz zwykle fantasy by firr - bez zadnego kontekstu, podstaw
i w
>ostatecznosci... sensu.
>
To po ch.... mu odpisujecie?
A.L.
-
20. Data: 2014-10-26 22:09:56
Temat: Re: inne sposokodowania inta
Od: "R.e.m.e.K" <p...@w...pl>
Dnia Sun, 26 Oct 2014 15:43:48 -0500, A.L. napisał(a):
>>Naprawde, ale tak serio, myslisz, ze on czyta te linki? Baaa... ze go to w ogole
>>INTERESUJE? On ma to gleboko w dupie! Jego interesuje wymyslanie.. nie... nie
>>wymyslanie... fantazjowanie (sic!) na tematy okolomatematyczno-programistyczne.
Nawet nie
>>naukowe fantazjowanie, lecz zwykle fantasy by firr - bez zadnego kontekstu, podstaw
i w
>>ostatecznosci... sensu.
>>
>
> To po ch.... mu odpisujecie?
Chyba widzisz, ze nie ja MU odpisuje, lecz Bartek?
I wlasnie z analogicznym zapytaniem sie do niego zwrocilem.
--
pozdro
R.e.m.e.K