Nazdar, potrebujem zkonvertovat cisla z 10 sustavy do binarnej. S malymi cislami to ide vpohode... problem je ten, ze dane cislo ma 30000 cislic.
Su nato nejake algoritmy, alebo budem musiet pocitat s tak obrovskymi hodnotami?
algoritmus pre konverziu Dec2Bin
algoritmus pre konverziu Dec2Bin
i7 4790K @ 4.6GHz
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
- M1ch4l
- VIP
- Príspevky: 6679
- Dátum registrácie: Št 21. Feb, 2008, 14:00
- Bydlisko: Kysucký Lieskovec / Praha
Re: algoritmus pre konverziu Dec2Bin
hovori sa tomu hornerovo schema, to by si si uz mal lahko dohladat, ak nie, tak sa mozem pokusit vysvetlit.
ci to ide aj lepsie, to uz neviem
pravdepodobne tu uz aj bude dost zalezat na reprezentacii toho cisla, alokacii pamate, atd...pre 30 000 ciferne desiatkove cislo mozes mat...uhm, lol, asi tak 100 000 dvojkovych cifier...ale to sa este stale da urobit v pohode, no big deal.
ci to ide aj lepsie, to uz neviem
pravdepodobne tu uz aj bude dost zalezat na reprezentacii toho cisla, alokacii pamate, atd...pre 30 000 ciferne desiatkove cislo mozes mat...uhm, lol, asi tak 100 000 dvojkovych cifier...ale to sa este stale da urobit v pohode, no big deal.
Music: AKG K240 MK II / Beyerdynamic DT 770 Pro 80 Ohm @ Topping DX7 Pro
Bike: 2022 Canyon Neuron CF 8; Coffee: Chemex 6-cup
Bike: 2022 Canyon Neuron CF 8; Coffee: Chemex 6-cup
Spoiler: ukázať
Re: algoritmus pre konverziu Dec2Bin
Diky za tip. Nastudoval som..
Doteraz som pouzival bezny postup: 1*(2^0) + 1*(2^1) + 1*(2^2) + ... 1*(2^n)
Ta Horner schema je podobna - ale mocniny su "rozlozene" do zatvoriek, ktore nasobia nasledujuce zatvorky dvoma : ((0*2+1)*2+1)*2+1...
Zrejme sa nevyhnem pocitaniu s velkymi cislami - ale je to asi lepsie ako pocitat 2^100000 apod...
zatial, diky
Edit:
Este som sa chcel spytat na tu konverziu Dec2Bin s Hornerom... Tento postup je spravny? :
1. desiatkove cislo: pokial je neparne, odpocitat "1" ; pokial parne nechat tak ("0") (-podla toho je prvy bit zlava 1 alebo 0)
2. delit 2
3. pokracovat bodom 1. az kym desiatk. cislo=0
Doteraz som pouzival bezny postup: 1*(2^0) + 1*(2^1) + 1*(2^2) + ... 1*(2^n)
Ta Horner schema je podobna - ale mocniny su "rozlozene" do zatvoriek, ktore nasobia nasledujuce zatvorky dvoma : ((0*2+1)*2+1)*2+1...
Zrejme sa nevyhnem pocitaniu s velkymi cislami - ale je to asi lepsie ako pocitat 2^100000 apod...
zatial, diky
Edit:
Este som sa chcel spytat na tu konverziu Dec2Bin s Hornerom... Tento postup je spravny? :
1. desiatkove cislo: pokial je neparne, odpocitat "1" ; pokial parne nechat tak ("0") (-podla toho je prvy bit zlava 1 alebo 0)
2. delit 2
3. pokracovat bodom 1. az kym desiatk. cislo=0
i7 4790K @ 4.6GHz
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
Re: algoritmus pre konverziu Dec2Bin
Tak C++ streamy by to mali zožrať a celý algoritmus by sa tak zmenšil na niekoľko riadkov. Samozrejme, ak to teda môže byť program v C++...
s pozdravom, crux.
Re: algoritmus pre konverziu Dec2Bin
Keby som vedel C++ jaaaaj to by som bol macher... Ja robim vypocty cez VBS (nesmejte sa, zatial to staci).
Dnes sa pokusim dokoncit toho Hornera, uvidime..
Dnes sa pokusim dokoncit toho Hornera, uvidime..
i7 4790K @ 4.6GHz
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB