algoritmus pre konverziu Dec2Bin

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
numlock
Používateľ
Používateľ
Príspevky: 656
Dátum registrácie: Pi 20. Jan, 2006, 02:00
Bydlisko: nemám

algoritmus pre konverziu Dec2Bin

Príspevok od používateľa numlock »

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?
i7 4790K @ 4.6GHz
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
Používateľov profilový obrázok
M1ch4l
VIP
VIP
Príspevky: 6652
Dátum registrácie: Št 21. Feb, 2008, 14:00
Bydlisko: Kysucký Lieskovec / Praha

Re: algoritmus pre konverziu Dec2Bin

Príspevok od používateľa M1ch4l »

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.
Music: AKG K240 MK II / Beyerdynamic DT 770 Pro 80 Ohm @ Topping DX7 Pro
Bike: 2022 Canyon Neuron CF 8; Coffee: Chemex 6-cup
Spoiler: ukázať
CPU 7800 X3D + DeepCool AK620; MB ROG Strix B650E-E; RAM G.Skill 32GB 6000CL30; GPU 7900XT Pulse; OS SSD 980 Pro 1TB; Storage SN850X 2TB, 860 QVO 2TB; PSU ROG Strix 850W Aura; CASE Define R4 Arctic White Window; Peripherals Aorus AD27QD + DELL U2311H, Logitech G513 Carbon linear, Logitech G903 + Razer Destructor 2, Blue Snowball
Používateľov profilový obrázok
numlock
Používateľ
Používateľ
Príspevky: 656
Dátum registrácie: Pi 20. Jan, 2006, 02:00
Bydlisko: nemám

Re: algoritmus pre konverziu Dec2Bin

Príspevok od používateľa numlock »

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
i7 4790K @ 4.6GHz
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
Používateľov profilový obrázok
crux2005
VIP
VIP
Príspevky: 10030
Dátum registrácie: So 18. Jún, 2005, 20:00
Bydlisko: Nové Zámky

Re: algoritmus pre konverziu Dec2Bin

Príspevok od používateľa crux2005 »

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.
Používateľov profilový obrázok
numlock
Používateľ
Používateľ
Príspevky: 656
Dátum registrácie: Pi 20. Jan, 2006, 02:00
Bydlisko: nemám

Re: algoritmus pre konverziu Dec2Bin

Príspevok od používateľa numlock »

Keby som vedel C++ jaaaaj to by som bol macher... :-D Ja robim vypocty cez VBS (nesmejte sa, zatial to staci).
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

Návrat na "Programovanie"