Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
[Tema]Oglinditul unui numar in baza 2
Last Updated: Oct 24 2014 09:56, Started by
skywallkee
, Oct 23 2014 21:37
·
0
#1
Posted 23 October 2014 - 21:37
Buna seara, m-am "impiedicat" de o problema in care trebuie sa fac oglinditul unui numar in baza 2. Din ce am invatat eu ( oglindit = oglindit * 10 + numar % 10 ) nu pot scoate oglinditul unui numar in baza 2, deoarece daca dau de un numar care incepe cu 0, ca 010, atunci el imi afiseaza 1. Cum as putea sa fac oglinditul in alt mod, folosind doar structura repetitiva while si operatiile simple, invatate la inceputul c++.
Multumesc. |
#3
Posted 23 October 2014 - 21:45
Daca ai putea sa imi spui cum pot inversa un sir de caractere, nu am invatat inca asa ceva.. Multumesc.
Edited by skywallkee, 23 October 2014 - 21:48. |
#4
Posted 23 October 2014 - 21:47
oglindit = sirul de cifre in ordine inversa
oglindit(010) = 010 = 2 Ti-a dat 1, pentru ca 010 nu e in baza 10, ca sa-l pui direct intr-un int. skywallkee, on 23 octombrie 2014 - 21:45, said:
Daca ai putea sa imi spui cum pot inversa un sir de caractere, nu am invatat inca asa ceva.. Multumesc. Incearca sa fii mai atent la orele de informatica (sau arunca un ochi pe manual, daca profesorul nu-ti convine) Sigur s-a predat ceva.... daca vi s-a dat exercitiul cu oglinditul, ar trebui sa stiti sa inversati un sir de caractere. Edited by AlinCosmin, 23 October 2014 - 21:50. |
#6
Posted 23 October 2014 - 21:54
Noi am facut doar oglinditul unui sir de numere, nu am facut pana acum oglinditul unui sir de numere in baza k. Algoritmul fiind:
cat timp x != 0 executa cifra = x % 10 x = x / 10 oglindit = oglindit * 10 + cifra Alt ceva despre oglindit nu stim.. |
#7
Posted 23 October 2014 - 21:59
skywallkee, on 23 octombrie 2014 - 21:37, said:
Buna seara, m-am "impiedicat" de o problema in care trebuie sa fac oglinditul unui numar in baza 2. Din ce am invatat eu ( oglindit = oglindit * 10 + numar % 10 ) nu pot scoate oglinditul unui numar in baza 2, deoarece daca dau de un numar care incepe cu 0, ca 010, atunci el imi afiseaza 1. Cum as putea sa fac oglinditul in alt mod, folosind doar structura repetitiva while si operatiile simple, invatate la inceputul c++. Multumesc. skywallkee, on 23 octombrie 2014 - 21:54, said:
Noi am facut doar oglinditul unui sir de numere, nu am facut pana acum oglinditul unui sir de numere in baza k. Algoritmul fiind: cat timp x != 0 executa cifra = x % 10 x = x / 10 oglindit = oglindit * 10 + cifra Alt ceva despre oglindit nu stim.. p.s. numerele sunt sir de caractere pana in momenul in care lucrezi cu valoarea pe care o reprezinta Edited by MarianG, 23 October 2014 - 22:05. |
#8
Posted 23 October 2014 - 22:06
M-am uitat prin topicele mai vechi, nu am vazut sa se vorbeasca despre oglinditul unui numar in baza 2... La mine problema este ca atunci cand incepe un numar cu "0" nu, se opreste while si imi da incomplet..
|
#9
Posted 23 October 2014 - 22:15
Citești ăla într-un șir de caractere și faci interschimbare de la extremități la centru... Asta doar dacă vrei să ai și ăla salvat în memorie... Dacă trebuie doar afișat, îl citești în șir de caractere și-l afișezi de la coadă la cap cu un for, caracter cu caracter...
|
#10
Posted 23 October 2014 - 22:17
|
#11
Posted 23 October 2014 - 22:26
Să văd dacă am înțeles bine: dacă ai ca dată de intrare pe 11, care se reprezintă în baza 2 drept 1011, tu drept ieșire ai nevoie de un șirul de caractere: ”1101”?
Dacă așa stau lucrurile, problema ar merge frumos cu operatorii pe biți &, |, <<, >>, pe care probabil i-ați învățat. Edited by adrian93, 23 October 2014 - 22:28. |
#13
Posted 24 October 2014 - 04:52
Ceea ce vrei sa afli este pozitia primului 1 in reprezentarea binara, ca sa stii care e limita in bucla for pe care o vei face (for, nu while, ai numarul de pasi predeterminati).
Te las pe tine sa rationalizezi folosind log2. |
#14
Posted 24 October 2014 - 09:56
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users