Decimal brojčani tip podataka
Moderator/ica: Moderatori/ce
Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
- drone
- Moderator
- Postovi: 3293
- Pridružen/a: 01 pro 2010, 23:50
- OS: Arch/KDE, Debian/Armbian
- Lokacija: Nova Gradiška
Re: [Ruby] Learn To Program
Je, to je to, taj link sam trebao također staviti (imam ga u bookmarksu), kao i ovo: http://speleotrove.com/decimal/#decNumber
gdje se u referenci navode i libsi tj. klase za Ruby:
https://github.com/jgoizueta/ruby-decimal/
Ima i na wikipediji. Mike Cowlishaw je bio IBMov dugogodišnji zaposlenik i autor je decNumbera koji će i u GCC biti uskoro do kraja implementiran. Djelomično već je, ne radi printf i štošta drugo, ne radi s g++ i ostalima, pa nije baš upotrebljivo, ali radi se na tome. U međuvremenu može se koristiti kao poseban library. Intel također ima svoju implementaciju, ali se decNumber više drži standarda koliko sam primjetio.
Za moje konkretne potrebe i C++, MAPM mi je bolji (iako nije thread safe, pa treba provjeravati u programu je li isamo jedna instanca pokrenuta).
Međutim, očito je da ni Ruby nema to implementirano unutar samog jezika. Python, Java, C# imaju bar kao libse/klase/module koje dolaze s njima, kao i većina SQL baza (da, moglo bi se iz C++ pomoću MySQL queryja riješiti decimal, ako se koristi MySQL u aplikaciji, ali... duga priča, pogotovo s Qt-om izgleda da su zbrljali u tom pogledu, ali moram još provjeriti navode: http://stackoverflow.com/questions/5489 ... c-notation)
Ispričavam se ako je ovo sve skupa offtopic, možda bi se moglo premjestiti negdje drugdje ako je tako.
Integeri mogu poslužiti (množenje sa 100 za lipe recimo, pa onda dijeljenje), ali često nije najbolje rješenje (postoje i o tome rasprave).
gdje se u referenci navode i libsi tj. klase za Ruby:
https://github.com/jgoizueta/ruby-decimal/
Ima i na wikipediji. Mike Cowlishaw je bio IBMov dugogodišnji zaposlenik i autor je decNumbera koji će i u GCC biti uskoro do kraja implementiran. Djelomično već je, ne radi printf i štošta drugo, ne radi s g++ i ostalima, pa nije baš upotrebljivo, ali radi se na tome. U međuvremenu može se koristiti kao poseban library. Intel također ima svoju implementaciju, ali se decNumber više drži standarda koliko sam primjetio.
Za moje konkretne potrebe i C++, MAPM mi je bolji (iako nije thread safe, pa treba provjeravati u programu je li isamo jedna instanca pokrenuta).
Međutim, očito je da ni Ruby nema to implementirano unutar samog jezika. Python, Java, C# imaju bar kao libse/klase/module koje dolaze s njima, kao i većina SQL baza (da, moglo bi se iz C++ pomoću MySQL queryja riješiti decimal, ako se koristi MySQL u aplikaciji, ali... duga priča, pogotovo s Qt-om izgleda da su zbrljali u tom pogledu, ali moram još provjeriti navode: http://stackoverflow.com/questions/5489 ... c-notation)
Ispričavam se ako je ovo sve skupa offtopic, možda bi se moglo premjestiti negdje drugdje ako je tako.
Integeri mogu poslužiti (množenje sa 100 za lipe recimo, pa onda dijeljenje), ali često nije najbolje rješenje (postoje i o tome rasprave).
1986-1990: Commodore64 / 1990-1994: Amiga 500 / 1995-1996: Amiga 1200 / 1997-2001: N/A@home /
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
Re: [Ruby] Learn To Program
Bas vidim tweet:
"Friends don't let friends try to do science in Ruby."
"Friends don't let friends try to do science in Ruby."
Avoid the Gates of Hell. Use Linux!
Re: [Ruby] Learn To Program
Hm, ja općenito izbjegavam korištanje floating point, double i inih tipova i koristim int ili unisgned int koliko god mogu. instrukcijski set za int je brži od fp ili double, a tipično je za moje potrebe konverzija na razini init <->floting point bila jednostavna (dodatno se nisam morao mučiti sa preciznošću)
Es gibt keinen Gott, kein Universum, keine menschliche Rasse, kein irdisches Leben, keinen Himmel, keine Hölle. Es ist alles ein Traum - ein grotesker und dummer Traum. Nichts existiert außer dir. Und du bist nur ein Gedanke - ein vagabundierender Gedanke, ein nutzloser Gedanke, ein heimatloser Gedanke, der verloren in der leeren Ewigkeit wandelt!
- drone
- Moderator
- Postovi: 3293
- Pridružen/a: 01 pro 2010, 23:50
- OS: Arch/KDE, Debian/Armbian
- Lokacija: Nova Gradiška
Re: [Ruby] Learn To Program
Shrike, imaš li možda pri ruci primjer svog koda vezano uz to? Ili bar, radi li se o jednostavnom množenju, pa dijeljenju (jednostavna funkcija ili metoda - to znam o čemu se radi) ili ima još kakvih trikova?
Jel Ruby u pitanju ili C/C++?
Mislim... ako je provjereno u praksi da daje točne rezultate, pošto je int brži od svega, da ne spominjem dodatne libse tipa MAPM. Meni ne pada baš nešto posebno napamet. Jest da MAPM ima odličnih funkcija za razne konverzije, čak i formatiraš broj za ispis (izbor delimitera, kako će se odvajati tisućice itd.) ali to košta što se tiče brzine programa. Primjerice, najsigurnije je vraćati u string (tj. u *char), pa onda opet iz stringa u MAPM, pa možda u qstring, pa u MySQL ili što već...
Nije mi baš KISS ovo što sam smislio, lako moguće da može jednostavnije.
Jel Ruby u pitanju ili C/C++?
Mislim... ako je provjereno u praksi da daje točne rezultate, pošto je int brži od svega, da ne spominjem dodatne libse tipa MAPM. Meni ne pada baš nešto posebno napamet. Jest da MAPM ima odličnih funkcija za razne konverzije, čak i formatiraš broj za ispis (izbor delimitera, kako će se odvajati tisućice itd.) ali to košta što se tiče brzine programa. Primjerice, najsigurnije je vraćati u string (tj. u *char), pa onda opet iz stringa u MAPM, pa možda u qstring, pa u MySQL ili što već...
Nije mi baš KISS ovo što sam smislio, lako moguće da može jednostavnije.
1986-1990: Commodore64 / 1990-1994: Amiga 500 / 1995-1996: Amiga 1200 / 1997-2001: N/A@home /
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
[Ruby] Learn To Program
Ne, koristio sam obično dijeljenje i množenje jer su brojevi u pitanju uvijek bili fiksne duljine ili fiksnih decimalnih mjesta. Primjer je baratanje brojevima koji uvijek imaju 3 decimale ili koji su uvijek fiksne duljine xyz.abc U takvim slučajevima jednostavno ide xyz.abc*1000 i onda na kraju /1000 Katkada su brojevi čista decimala, 0.123456789 , tada samo pomnožim sve sa 10e9 i radim kao int.
Naglašavam, ovo sam koristio za svoje specifične slučajeve, ne znam koliko se može primjeniti na tvoje stvari. Također, sve što radim za sebe, radim u C (bez GUI), pa tako i ovo.
Naglašavam, ovo sam koristio za svoje specifične slučajeve, ne znam koliko se može primjeniti na tvoje stvari. Također, sve što radim za sebe, radim u C (bez GUI), pa tako i ovo.
Es gibt keinen Gott, kein Universum, keine menschliche Rasse, kein irdisches Leben, keinen Himmel, keine Hölle. Es ist alles ein Traum - ein grotesker und dummer Traum. Nichts existiert außer dir. Und du bist nur ein Gedanke - ein vagabundierender Gedanke, ein nutzloser Gedanke, ein heimatloser Gedanke, der verloren in der leeren Ewigkeit wandelt!
- drone
- Moderator
- Postovi: 3293
- Pridružen/a: 01 pro 2010, 23:50
- OS: Arch/KDE, Debian/Armbian
- Lokacija: Nova Gradiška
Re: [Ruby] Learn To Program
Da, i ja isto, zato se sad znojim s učenjem Qt-a, jer će u jednom momentu GUI ipak biti potreban, a program bi trebao biti multiplatformski. Za početak ncurses kao TUIshrike je napisao/la:Ne, koristio sam obično dijeljenje i množenje jer su brojevi u pitanju uvijek bili fiksne duljine ili fiksnih decimalnih mjesta. Primjer je baratanje brojevima koji uvijek imaju 3 decimale ili koji su uvijek fiksne duljine xyz.abc U takvim slučajevima jednostavno ide xyz.abc*1000 i onda na kraju /1000 Katkada su brojevi čista decimala, 0.123456789 , tada samo pomnožim sve sa 10e9 i radim kao int.
Naglašavam, ovo sam koristio za svoje specifične slučajeve, ne znam koliko se može primjeniti na tvoje stvari. Također, sve što radim za sebe, radim u C (bez GUI), pa tako i ovo.
A ne govorim ništa osim C/C++ (i to mi naglasak vuče na C). Dobro, pričam ja i Basic i Assembler (pogotovo za MOS 6510, pomalo i Motorolu 68000) http://en.wikipedia.org/wiki/MOS_Technology_6510
Tako da... bojim se da nemam prave alate za posao, ali što je tu je, bar će moj uradak biti brži od hrpetine postojećih, ako nešto ne zbrljam što je s mojim alatima jako lako postići. Ako uspijem, open source će dobiti još jednu kasu, a potom i knjigovodstveni sw.
1986-1990: Commodore64 / 1990-1994: Amiga 500 / 1995-1996: Amiga 1200 / 1997-2001: N/A@home /
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
Re: [Ruby] Learn To Program
Komercijala, ha? hehe.
Es gibt keinen Gott, kein Universum, keine menschliche Rasse, kein irdisches Leben, keinen Himmel, keine Hölle. Es ist alles ein Traum - ein grotesker und dummer Traum. Nichts existiert außer dir. Und du bist nur ein Gedanke - ein vagabundierender Gedanke, ein nutzloser Gedanke, ein heimatloser Gedanke, der verloren in der leeren Ewigkeit wandelt!
- drone
- Moderator
- Postovi: 3293
- Pridružen/a: 01 pro 2010, 23:50
- OS: Arch/KDE, Debian/Armbian
- Lokacija: Nova Gradiška
Re: [Ruby] Learn To Program
Are you talking to me?shrike je napisao/la:Komercijala, ha? hehe.
Nisam baš skužio, na što misliš? Licence ili nešto drugo?
1986-1990: Commodore64 / 1990-1994: Amiga 500 / 1995-1996: Amiga 1200 / 1997-2001: N/A@home /
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
Re: [Ruby] Learn To Program
Rekao si da češ napraviti knjigovodstveni sw. Sumnjam da češ tako nešto raditi zbog toga jer ti to zvuči zanimljivo. Ako ipak radiš tako nešto kao GPL sw, bez naplate, što misliš da ipak krenemo raditi nešto društveno korisno? Recimo, linux za sljepe?
Es gibt keinen Gott, kein Universum, keine menschliche Rasse, kein irdisches Leben, keinen Himmel, keine Hölle. Es ist alles ein Traum - ein grotesker und dummer Traum. Nichts existiert außer dir. Und du bist nur ein Gedanke - ein vagabundierender Gedanke, ein nutzloser Gedanke, ein heimatloser Gedanke, der verloren in der leeren Ewigkeit wandelt!
- drone
- Moderator
- Postovi: 3293
- Pridružen/a: 01 pro 2010, 23:50
- OS: Arch/KDE, Debian/Armbian
- Lokacija: Nova Gradiška
Re: [Ruby] Learn To Program
Namjeravam to izdati pod GPL ili nekom drugom oss licencom.
Zašto ne nešto drugo?
Zato što u ovom području imam iskustva iz prve ruke. Znam kako je raditi u prodaji i kakav bih program želio. Osim toga, moj knjigovođa je zaključio da mu njegov softver (kojeg je sam napravio u accessu) ponekad baš i ne radi kako je zamislio, pa mi je ponudio suradnju.
Linux za slijepe?
Nemam uopće predodžbu o tome. Ne znam odakle bih krenuo.
Prije nekoliko godina na nekoj C++ mailing listi postavio je početničko pitanje jedan slijepi dečko. Pokušao sam zamisliti kako on uči programirati. Kako unosi kod, kako koristi debbuger. To je teško i kraj zdravih očiju. Teško mi je i zamisliti kako je moguće programirati uz pomoć screen readera, softvera za prepoznavanje govora i sl. Nisam bio jedini osupnut.
Postojeća rješenja imaju neke nedostatke. Mislim da Java (Openbravo POS), a još manje KDE (Lemon POS) nisu baš najsretniji izbori za POS aplikaciju.
Nadalje, domaća oss ponuda mi je blago rečeno čudna. Čini mi se da se nastoji uvaliti nešto samo zato da bi se kasnije papreno naplaćivala podrška.
...Ili iz nekih drugih razloga. Možda mi je nešto promaklo, ali koji je smisao primjerice ovoga: http://www.pro3x.com/
Zaista ne želim da mi na ekranu piše neregistrirana verzija ili nešto slično (ne da mi se sad to pokretati), te da je aplikacija spojena na neki server i da ima onaj čudni Java web install.
Kako da instaliram neku normalnu verziju tog programa, ima li je uopće? Kao što instaliram VLC player recimo. Ako ja ne kužim, kako će skužiti neki prodavač u dućančiću u Brđanima kojem najveći promet prave likovi na klupici ispred?
Komercijalnu ponudu lokalnih "programera" u obliku accessa, accessa, vba, accessa i pokojeg clipper programa u dosu bolje ni ne spominjati. Aj clipper i dos još nekako
Cilj mi je napraviti program koji će biti slobodan i besplatan, kojeg će moći instalirati i podesiti svatko tko zna instalirati recimo Pidgin i koristiti ga bez ikakvih šifri na početku svake godine koje samo autor programa zna.
Vidjet ćemo. Sve je još samo plan, nisam napisao ni jednu liniju koda ako izuzmemo razna isprobavanja kojekakvih libsa i tehnika.
Molio bih da se ovo i možda nekoliko prethodnih postova prebaci u zasebnu temu, jer mi se čini da uopće više nema veze s [Ruby] Learn To Program.
Pa ako netko ima volje nastaviti o ovome da može bez grižnje savjesti
Zašto ne nešto drugo?
Zato što u ovom području imam iskustva iz prve ruke. Znam kako je raditi u prodaji i kakav bih program želio. Osim toga, moj knjigovođa je zaključio da mu njegov softver (kojeg je sam napravio u accessu) ponekad baš i ne radi kako je zamislio, pa mi je ponudio suradnju.
Linux za slijepe?
Nemam uopće predodžbu o tome. Ne znam odakle bih krenuo.
Prije nekoliko godina na nekoj C++ mailing listi postavio je početničko pitanje jedan slijepi dečko. Pokušao sam zamisliti kako on uči programirati. Kako unosi kod, kako koristi debbuger. To je teško i kraj zdravih očiju. Teško mi je i zamisliti kako je moguće programirati uz pomoć screen readera, softvera za prepoznavanje govora i sl. Nisam bio jedini osupnut.
Postojeća rješenja imaju neke nedostatke. Mislim da Java (Openbravo POS), a još manje KDE (Lemon POS) nisu baš najsretniji izbori za POS aplikaciju.
Nadalje, domaća oss ponuda mi je blago rečeno čudna. Čini mi se da se nastoji uvaliti nešto samo zato da bi se kasnije papreno naplaćivala podrška.
...Ili iz nekih drugih razloga. Možda mi je nešto promaklo, ali koji je smisao primjerice ovoga: http://www.pro3x.com/
Zaista ne želim da mi na ekranu piše neregistrirana verzija ili nešto slično (ne da mi se sad to pokretati), te da je aplikacija spojena na neki server i da ima onaj čudni Java web install.
Kako da instaliram neku normalnu verziju tog programa, ima li je uopće? Kao što instaliram VLC player recimo. Ako ja ne kužim, kako će skužiti neki prodavač u dućančiću u Brđanima kojem najveći promet prave likovi na klupici ispred?
Komercijalnu ponudu lokalnih "programera" u obliku accessa, accessa, vba, accessa i pokojeg clipper programa u dosu bolje ni ne spominjati. Aj clipper i dos još nekako
Cilj mi je napraviti program koji će biti slobodan i besplatan, kojeg će moći instalirati i podesiti svatko tko zna instalirati recimo Pidgin i koristiti ga bez ikakvih šifri na početku svake godine koje samo autor programa zna.
Vidjet ćemo. Sve je još samo plan, nisam napisao ni jednu liniju koda ako izuzmemo razna isprobavanja kojekakvih libsa i tehnika.
Molio bih da se ovo i možda nekoliko prethodnih postova prebaci u zasebnu temu, jer mi se čini da uopće više nema veze s [Ruby] Learn To Program.
Pa ako netko ima volje nastaviti o ovome da može bez grižnje savjesti
1986-1990: Commodore64 / 1990-1994: Amiga 500 / 1995-1996: Amiga 1200 / 1997-2001: N/A@home /
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch