-
Data: 2013-11-14 10:03:01
Temat: Re: ułamki (alternatywnie do floata)
Od: firr <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu czwartek, 14 listopada 2013 09:44:53 UTC+1 użytkownik firr napisał:
> W dniu czwartek, 14 listopada 2013 09:05:04 UTC+1 użytkownik firr napisał:
>
> > W dniu czwartek, 14 listopada 2013 07:55:16 UTC+1 użytkownik Tomasz Kaczanowski
napisał:
>
> >
>
> > > W dniu 2013-11-13 19:29, firr pisze:
>
> >
>
> > >
>
> >
>
> > > > juz pare razy sie zastanawialem cze gdyby
>
> >
>
> > > > zdefiniowac sobie liczbe jako pare integerow
>
> >
>
> > > > licznik i mianownik (najlepiej jako i64
>
> >
>
> > > > a nie i32 bo dla 32 bit chyba szybko mogloby
>
> >
>
> > > > dochodzic do przepelnienia) to czy takie
>
> >
>
> > > > rachunki nie mialyby szansy byc lepszymi
>
> >
>
> > > > od floata/double
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > zalety sa np takie
>
> >
>
> > >
>
> >
>
> > > >
>
> >
>
> > >
>
> >
>
> > > > 1) jest to szybkie tj arytmetyka calkowita bez dzielenia w wiekszosci
operacji
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > > To, że jest to arytmetyka całkowita, wcale nie oznacza, że będzie
>
> >
>
> > > szybka, tym bardziej, że trzeba wykonywać dodatkowe operacje.
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > > > 2) byloby to (poki sie nie wywali z powodu
>
> >
>
> > > > przepelnienia0 scisłe, tj nie traci informacji
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > > Przepełnienie nastapi szybko przy dodawaniu liczb ułamkowych o różnych
>
> >
>
> > > mianownikach....
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > > > 3) pozwala opoznic dzielenie, floaty wykonuja
>
> >
>
> > > > dzielenia z kazdym znakiem / - taka liczba o wiele
>
> >
>
> > > > rzadziej np przy wydruku na ekran reprezentacji dziesietnej
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > > Dla optymalizacji zamiast dzielenia będzie szukanie najlepszego
>
> >
>
> > > mianownika przy dodawaniu.
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > > > wady - nie wiem czy to wogole by dzialalo tj
>
> >
>
> > > > boje sie ze szybko by sie przepelniało (ale moze
>
> >
>
> > > > dla i64 nie tak szybko?)
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > > Tak samo szybko.... (no ciut wolniej)
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > > > ktos moglby rozwinac jakos ten temat i powiedzic
>
> >
>
> > >
>
> >
>
> > > > cos na temat tej opcji?
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > > Tak swojego czasu bawiłem się, zabawa przednia, ale jeśli chodzi o
>
> >
>
> > >
>
> >
>
> > > szybkość działań i szybkość przepełnień, to po za miejscem, gdzie takich
>
> >
>
> > >
>
> >
>
> > > operacji potrzebujemy jest to duzo wolniejsze i dodatkowo szybko się
>
> >
>
> > >
>
> >
>
> > > przepełnia.
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> >
>
> >
>
> > fajnie by bylo wiedziec jednak nieco wiecej
>
> >
>
> > na ten temat, ciekawe na przyklad 1 czy nie ma jednak jakichs przypadkow gdy to
by sie
>
> >
>
> > jednak sprawdzalo 2 jak dzilalalo by np
>
> >
>
> > takie trywialne skracanie ze licznik i mianownik
>
> >
>
> > przesuwamy w prawo o ta sama ilosc bitów,
>
> >
>
> > czy niosloby to jakis wielki blad
>
> >
>
> > na przyklad mamy ulamek
>
> >
>
> >
>
> >
>
> > 10010101011101010100110010100101001001001010101001
>
> >
>
> > / 10010010010001001001010010111111010100001010
>
> >
>
> >
>
> >
>
> > czy po prostu obciacie licznika i mianownika np o 10 bitow nioslo by duzy blad
czy tez tego typu arytmetyka dzialalaby dla realnych zastosowan
>
> >
>
> > (tego typu skracanie jest technicznie o niebo szybsze niz algorytm do dzielenia -
widomo ze
>
> >
>
> > dzielenie jest akcelerowane ale sama istota
>
> >
>
> > tej prostoty tutaj wydaje mi sie ew ciekawa)
>
>
>
> mozna tez przemyslec wersje takich liczb z
>
> ruchomym przecinkiem tj mantysa-cecha, ale
>
> ten podstawowy przypadek jest prostszy do
>
> zastanawiania sie jakby to dzialalo,
>
>
>
> ogolnie zaleta wydaje mi sie jest taka ze
>
> np jakis dlugi ciag dodawan odejmowan mnozen
>
> i dzielen w takiej reprezentacji jest
>
> fizycznie o wiele prostszy nic na floacie
>
> typu mantysa cecha (jesli to drugie by symulowac
>
> softem to chybbylo by widac) a dzielenie jest
>
> wogole wykluczane, chyba dopiero do momentu
>
> gdy trzeba wypisac reprezentacje dziesietna
>
> na ekranie (?)
tj w sumie dodawanie ulamokow byloby bardziej
zlozone (tez w sumie nie wiem dokladnie jak
kosztowne sa dodawanie udejmowanie mnozenie
rozpisane softem na floatach bo moze nie
az tak - wartoby napisac sobie softowe
symulacje obu wersji) ale za to dodawania
takich rzeczy jak 1/3 + 1/7 bylyby scisle
- wydaje sie to jednak ciekawy pomysl
i szkoda ze nie mam czegos takiegio w typach prostych do popisania na tym i
posprawdzania jak to dziala
Następne wpisy z tego wątku
- 14.11.13 10:22 Robert Winkler
- 14.11.13 10:25 Borneq
- 14.11.13 10:26 g...@g...com
- 14.11.13 10:57 Piotr Chamera
- 14.11.13 11:10 Paweł Kierski
- 14.11.13 11:48 firr
- 14.11.13 16:34 A.L.
- 14.11.13 16:39 A.L.
- 14.11.13 16:47 firr
- 14.11.13 18:11 Ghost
- 14.11.13 19:37 bartekltg
- 14.11.13 19:47 Jordan Szubert
- 14.11.13 19:48 bartekltg
- 14.11.13 19:59 bartekltg
- 14.11.13 20:25 bartekltg
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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
Najnowsze wątki
- 2024-09-12 Z cyklu POJEBANA UE: samochody elektryczne nie mogą być tanie i dobre
- 2024-09-13 dodanie karty graf zawiesza komp
- 2024-09-13 Sezon grzewczy kurła
- 2024-09-13 Warszawa => Spedytor Międzynarodowy <=
- 2024-09-13 Warszawa => Mid Account Manager <=
- 2024-09-13 Warszawa => QA Engineer <=
- 2024-09-13 Białystok => Frontend Developer (Angular area) <=
- 2024-09-13 Warszawa => QA Inżynier <=
- 2024-09-13 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-09-13 Zabrze => Projektant/Expert PHP Laravel (e-commerce) <=
- 2024-09-13 Białystok => Programista Full Stack (.Net Core) <=
- 2024-09-13 Gdańsk => Software .Net Developer <=
- 2024-09-13 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-09-13 Warszawa => International freight forwarder <=
- 2024-09-13 Warszawa => Senior IT Project Manager <=