C/C++ Algoritam: Iz Dekadnog u Hex prenoseci vrednosti...
Pozdrav,
evo pravim neku biblioteku za komunikaciju sa mernim uredjajima, i izpizdeo sam, dakle evo shta je problem. Recimo imam neku vrednost koja je u dekadnom zapisu, na primer : Kôd:
123456 Kôd:
0x12 0x34 0x56 ZAPAZANJE: Svi dekadni brojevi su sestocifreni. Svaka pomoc je dobrodoshla. Hvala unapred. |
sprintf("%x", broj)?
|
http://answers.google.com/answers/threadview?id=588461
Kôd:
int main() { |
Uh... boga mi ubih se od razmishljanja i nemam reshanje... jedino mi preostaje da napravim kodnu tabelu iz koje cu da vadim podatke... :(
|
Nije mi sasvim jasno u čemu je problem. Treba da ispisuješ te podatke kao hex na konzolu? Samo udari
Kôd:
cout << hex << moj_broj; |
Ne treba mi stampanje na konzolu, treba mi vrednost u promenljivoj. I to ne da broj konvertujem u hex vec da ga prenesem u hex.
Na primer da: Kôd:
25 dekadno => 0x25 hex 25 dekadno => 0x19 hex Elem, tu treba neko sabiranje. dodam neku vrednost na dekadnu i onda konvertujem u hex. ali nikako da nadjem pravilo, koliko trebam da dodam :( |
sprintf(tvoj_broj_kao_string, "%d", tvoj_broj);
sscanf(tvoj_broj_kao_string, "%x", &tvoj_broj_kao_hex); Verujem da će Dragi Tata da nabode neki one-liner. ;) |
A te promenljive su ti integralni tipovi a ne string? U tom slučaju imaš bar dva rešenja:
1) Lako ali verovatno sporo: upišeš taj broj u string stream, pa ga onda pročitaš iz istog streama sa hex manipulatorom. 2) Malo teže: razbiješ broj na niz cifara, pa onda konstruišeš nov broj tako što ih množiš sa 16 na x (gde x ide od 0 do broja cifara minus jedan) |
Jablane, nas dvojicu mogu da smeste u neki klaster za parallel computing :D
|
Nasao sam reshenje... lako i bez matematike :)
Kôd:
char[100] translate = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0x10, Kôd:
int br_hex = translate[br_dec]; |
Vidim da te buffer overflow ne brine preterano...
|
Lepo, ali to ne radi ono što si ti opisao da ti treba.
Recimo, ako imaš int 50, tvoja tabela će da ga mapira na char čija je vrednost 0x50, a to je 'P'. Ako si to hteo, super, ali sam shvatio da ti treba string "0x50". |
Citat:
|
cek zar ne mozes to sa sprintf?
Kôd:
s = sprintf("0x%s", i); |
Citat:
|
Citat:
|
ja bih ipak svoje kockice stavio na scala-u... generisala je zanimljiv "tihi" hype u poslednje vreme.
|
Citat:
Takođe mi se jako dopada i Boo na .NET strani, ali opet ne vidim ga u oglasima :( |
oh to se svakako nece desiti pre nego sto se (i ako se) pojavi killer-app, postoje neke blage naznake da bi to moglo da se desi u sledece 2 godine po glasinama iz valley-a, ali to je sve na nivou rekla-kazala.
(u prevodu - nista me ne sprecava da se nadam :) |
Citat:
Citat:
|
Scala, Boo... Morao sam da guglam. Kažite lepo Python, bre.
|
hm... scala nema neke preterane bliskosti sa python-om, ono sto je mene "kupilo" jeste:
1) jako lep miks OO i funkcionalne paradigme 2) threadless concurency nalik erlang-u kroz actor-e (rocks!) 3) vrti se nad JVM-om 4) XML je first-class value 5) moguce je koristiti java klase, though - generics-i jos uvek prave problem po tom pitanju (wildcard-ovi konkretno), drugim recima scala generics-i se ne mapiraju direktno na java 1.5 generics-e, ali postoji eksperimentalna podrska za pravilno mapiranje u scala-i od verzije 2.10 |
Ma zezam se, nisam se preterano udubljivao. Mada kapiram da je "miks funkcionalne i OO paradigme" prilično velika dodirna tačka ova dva jezika (dovoljno velika da je možemo nazvati duž).
Hehe, sad gledam primer Scale, kakvo ludilo: Kôd:
def toXHTML = |
Citat:
|
+1 :)
|
Citat:
Kôd:
int br_hex = 16*(br_dec / 10) + (br_dec %10); Не знам куд иде програмирање, почињем да се забрињавам кад људи не могу да набоду овакве ствари... :( ф |
Citat:
ф |
Citat:
|
Hvala
Citat:
Hvala, na zalost ja nisam dobar iz matematike, tako da mi nije ni palo napamet da odradim ovako jednostavnu stvar. A s'obzirom da mi je trebalo brzo reshenje morao sam da se snadjem, a sem toga posto mi se ovo izracunavanje pojavljuje jedno 100x u funkciji brze je ako pristupam nizu nego radim izracunavanje svaki put. A inace programiranje se okrece biznis logici. Naravno postojace mali broj dobro placenih sistemskih programera, a ostali ce raditi na programskim jezicima koji su vishe orijentisani poslovanju nego samom programiranju. Pozdrav :) |
Citat:
|
Vreme je GMT +2. Trenutno vreme je 08:21. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.