Cifrele in hexadecimal
#19
Posted 08 October 2019 - 09:56
MarianG, on 08 octombrie 2019 - 00:06, said:
pentru ca A, B, C, D, E, F ocupa un spatiu iar 10, 11, 12, 13, 14, 15 ocpua doua iar eu daca iti spun 111 - nu stii daca am vrut sa spun B1 sau 1B, 177 / 27 vrajitoruldinoz, on 08 octombrie 2019 - 00:18, said: Cum adica de ce? Pentru ca in baza N ai nevoie de N simboluri (nu "cifre", 10 nu e cifra). ABC sint simboluri, putea fi o bufnita, o maimuta dar e mai greu d scris. Ce spui tu cu 10, 11 nu se poate ca e foarte confuz. Cind scrii 10 ce insemna, 16 sau 10 in baza 10? Cind e 16 scrii 1 0 si cind e 10 scrii 10? Serios, ti se pare mai clar? Pe bune, poti scrie chiar "zece" si sa o iei ca un simbol. Si da, 1 0 (b=16) are sens ca 16 scris in baza 16. Se citeste mai bine. Ca "zece", citit asa, nu are sens de "saisprezece". E altceva. Cantitatile nu se schimba odata cu baza, doar scrierea lor se schimba. PlatonX, on 08 octombrie 2019 - 08:05, said:
Calculatorul prin definitie nu poate sa inteleaga in baza diferita de 2. |
#20
Posted 08 October 2019 - 10:30
Dihorul Razboinic, on 07 octombrie 2019 - 22:40, said:
Bai, deci o iau razna. In hexadecimal (baza 16) cifra 10 e notata A, 11 e B, 12 e C,... 15 e F. De ce??? Nu puteau fi notate pur si simplu 10, 11, 12, ...? De ex. 1A2B se poate nota fain 1 10 2 11. Sau 1`10`2`11. Sau separate cu punct la mijloc. Sau orice altceva. De ce cu litere??? Babilonienii care lucrau in baza 60 cum ar fi procedat, ca li se terminau sunetele pina la 60? Raspuns: babilonienii il notau pe 49 cu 49, 52 cu 52 etc. Si atunci noi de ce nu putem? Trebuie sa ai simboluri diferite. Daca te bazezi pe separatorul dintre elemente s-ar putea ca unii din neatentie sa-l uite si iese alta valoare. Cu simbolurile actuale folosite in baza 16 numeri in felul urmator: 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, dupa care urmeaza 10,11,12,13,14,15,...1F, 20,21 etc Daca ai merge pe notatia pe care o propui, ai avea: 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, dupa care ai avea 1'0, 1'1, 1'2, 1'3, etc. Ii foarte usor de confundat 10 cu 1'0 si plus de asta ar fi criminal ca la fiecare grup de cifre sa fii atent daca trebuie sau nu sa pui separator intre cifre. Babilonienii aveau aceeasi problema din moment ce nu foloseau simboluri diferite pentru toate cele 60 de elemente. Daca uitau sa puna spatiu intre grupuri, 122 putea fi confundat cu 3, de exemplul. [Folosirea bazelor de numeratie 8 sau 16 nu au fost un moft a celor care au construit primele calculatoare ci o metoda mai simpla de a citi continutul registrilor/memoriei si transcrierea/interpretarea lor cu mai putine erori (umane). Numerele reprezentate in binar is destul de greu de "digerat", mai ales daca le citesti de pe un panou cu becuri. Chiar daca cifrele is grupate, poti foarte usor sa sari sau sa adaugi de la tine un 0 sau 1 daca nu esti atent. Decodarea din binar in zecimal si afisarea numerelor pe un dispay presupunea folosirea unor circuite/scheme mai complexe decat calculatorul la care ar fi fost atasate, complexitate care crestea cu cat registrul avea mai multi biti. Initial, pentru sistemele cu registri multiplu de 3 bit (6,12,24) s-a ales gruparea si decodarea in baza 8. Circuitul era relativ simplu si afisarea putea fi facuta foare usor pe display cu tuburi Nixie. Ulterior, la sistemele cu registre pe multiplu de 8 bit s-a folosit gruparea pe 4 biti si decodarea in baza 16. In ziua de azi pare total aiurea sa faci asa ceva dar pe vremea electronicii cu tuburi sau tranzistori era o adevarata "jungla" hardware un decodor din binar in zecimal] |
#21
Posted 08 October 2019 - 10:44
Dihorul Razboinic, on 07 octombrie 2019 - 22:40, said:
Bai, deci o iau razna. In hexadecimal (baza 16) cifra 10 e notata A, 11 e B, 12 e C,... 15 e F. De ce??? Nu puteau fi notate pur si simplu 10, 11, 12, ...? De ex. 1A2B se poate nota fain 1 10 2 11. Sau 1`10`2`11. Sau separate cu punct la mijloc. Sau orice altceva. De ce cu litere??? Babilonienii care lucrau in baza 60 cum ar fi procedat, ca li se terminau sunetele pina la 60? Raspuns: babilonienii il notau pe 49 cu 49, 52 cu 52 etc. Si atunci noi de ce nu putem? |
#22
Posted 08 October 2019 - 10:53
In procesoare, unitatea minima de memorie este de 8 biti, numita si octet. Valoarea numerica inscrisa intr-un octet este f. usor de scris cu 2 cifre hexazecimale.
Astfel este f. usor de inteles, de scris, de citit, de verificat de cineva ceea ce vrei sa scri pe linia aia de program. Aici nu e vorba sa se vada frumos, e vorba de utilitatea fososirii acestui sistem de numeratie. Utilitatea reprezentarii in sistemul hexazecimal este in principal pt programatorii de limbaj de asamblare, carora le usureaza munca, sau le usura munca mai bine zis. Ca nu se mai foloseste in prezent, cred ca nici pe la facultatile de profil nu se mai preda. Un inginer ce programeaza microcontrolere ar trebui totusi sa aiba habar de sistemul hexa, pt ca mediul de dezvoltare foloseste, afiseaza date in hexa. |
#23
Posted 08 October 2019 - 12:05
Si adresele de memorie sunt returnate in hexa. Daca vrei sa stii la ce adresa de memeorie incepe un Array, adresa este returnata in hexa, este mult mai usor din toate punctele de vedere.
Edited by PlatonX, 08 October 2019 - 12:05. |
#24
Posted 08 October 2019 - 14:02
#25
Posted 08 October 2019 - 16:48
Dihorul Razboinic, on 07 octombrie 2019 - 22:40, said:
Bai, deci o iau razna. In hexadecimal (baza 16) cifra 10 e notata A, 11 e B, 12 e C,... 15 e F. De ce??? Nu puteau fi notate pur si simplu 10, 11, 12, ...? De ex. 1A2B se poate nota fain 1 10 2 11. Sau 1`10`2`11. Sau separate cu punct la mijloc. Sau orice altceva. De ce cu litere??? Babilonienii care lucrau in baza 60 cum ar fi procedat, ca li se terminau sunetele pina la 60? Raspuns: babilonienii il notau pe 49 cu 49, 52 cu 52 etc. Si atunci noi de ce nu putem? De putut am putea, dar de ce am vrea? PlatonX, on 07 octombrie 2019 - 23:19, said:
și scrierea romană este tot in baza 10 și are litere (deci nici o legătură cu 0 - 9). |
#26
Posted 08 October 2019 - 16:48
Pentru ca e mai clar? De ce sa inventezi notatii pentru chestii care exista? Trebuie apoi sa stii ca C inseamna de fapt 12, F inseamna 15 etc.
Btw, C++ inseamna tot 15, nu? Edited by Dihorul Razboinic, 08 October 2019 - 16:49. |
#27
Posted 08 October 2019 - 17:40
După ce lucrezi cu ele e mult mai ușor. Nu a zis nimeni că trebuie să fie ușor de învățat, ci că, odată ce înveți notația, e mult mai ușor să lucrezi cu ea.
Pe mine m-ar încurca la maxim notația ta. Edited by pexCom, 08 October 2019 - 17:42. |
#28
Posted 08 October 2019 - 17:45
DaculScoril0, on 08 octombrie 2019 - 16:48, said:
scrierea romană nu e în baza 10. de fapt noțiunea de bază nu are sens pentru scrierea romană a numerelor. https://en.wikipedia...base_10"_system Acolo se explica de ce si cum. Am explicat si mai sus cum e cu bazele si simbolurile: doua lucruri total diferite, dar care din pacate se confunda prea des. Edited by PlatonX, 08 October 2019 - 17:45. |
|
#29
Posted 08 October 2019 - 18:54
Quote
Baza unui sistem de numeraţie poziţional se defineşte ca fiind numărul unităţilor de acelaşi ordin de mărime care formează o unitate de ordin imediat superior. Altfel spus, baza unui sistem de numeraţie reprezintă numărul de semne distincte necesare scrierii unui număr. Teoretic, există o mulţime de baze de numeraţie, dar numai câteva s-au impus şi sunt folosite curent în viaţa de zi cu zi (baza de numeraţie zecimală şi hexazecimală) sau în unele domenii specifice (baza de numeraţie binară, octală, hexazecimală). Ca paranteza, la romani sa fim seriosi, aia au fost limitati nu au semne pentru toate cifrele si au doar 5 semne parca (I,V,X,L si M) restul nu sunt cifre sunt numere care implica operatii algebrice simple, IV = cinci minus unu, VI = cinci plus unu, XIV, zece plus cinci minus unu, etc. Nu stiu ce au inventat ei acolo dar e cam intr-un fel. Pana la urma vorbim dpdv matematic unde pentru un sistem X numit baza e nevoie de X simboluri distincte care sa reprezinte cele X valori de baza numite cifre in acea baza iar valorile sunt de la 0 la X - 1. Parca asa am invatat la scoala acum ceva ani. My 2 cents. |
#30
Posted 08 October 2019 - 19:01
Dihorul Razboinic, on 08 octombrie 2019 - 09:56, said:
Pai spui 11 1 sau 1 11. Ca doar n-o sa zici 111 in hexadecimal! O suta nu are sens acolo. Nu sunt deloc de acord. 10 e numar in baza 10. Dar poate fi si simbol. Prin conventie se poate considera ca 10 e a zecea cifra in baza 16. Pe hirtie poti scrie de mina 10 cu 1 si 0 lipite si gata simbolul. Pe bune, poti scrie chiar "zece" si sa o iei ca un simbol. Si da, 1 0 (b=16) are sens ca 16 scris in baza 16. Se citeste mai bine. Ca "zece", citit asa, nu are sens de "saisprezece". E altceva. Cantitatile nu se schimba odata cu baza, doar scrierea lor se schimba. Ti-am explicat, introducerea unui nou caracter (spatiu virgula etc) si faptul ca scrii inca mai mult ecaractere si e usor de facut greseli la citire face sistemul tau mult mai complicat si nepractic. Nu ca nu se poate, e evident ca e posibil. 10 in baza 16 nu se citeste zece, se citeste unu zero hex. Pentru asta se scrie 10h sau 0x10. Quote Pai spui 11 1 sau 1 11. Ca doar n-o sa zici 111 in hexadecimal! O suta nu are sens acolo. Cum adica nu are sens? 111h este 273. MembruAnonim, on 08 octombrie 2019 - 18:54, said: Ca paranteza, la romani sa fim seriosi, aia au fost limitati nu au semne pentru toate cifrele si au doar 5 semne parca (I,V,X,L si M) restul nu sunt cifre sunt numere care implica operatii algebrice simple, IV = cinci minus unu, VI = cinci plus unu, XIV, zece plus cinci minus unu, etc. Nu stiu ce au inventat ei acolo dar e cam intr-un fel. Sa nu uitam nici limba franceza in care 97 se spune 4*20+10+7 iar 79 e 60+10+9. Edited by vrajitoruldinoz, 08 October 2019 - 18:58. |
#31
Posted 08 October 2019 - 19:25
Imi pare rau dar de mine nu se prinde franceza. E mai usor cu ceva oriental dar franceza nu, nop, in nici un caz. Dar am fost curios si am cautat acum. S-a cad de pe scaun cand am citit ca francezii zic patru douazeci in loc de celebrul optzeci. Iar 60 si 11 in loc de 71 e la fel de imbecil. Dar sunt francezi nu am ce sa le cer.
|
#32
Posted 08 October 2019 - 19:40
MembruAnonim, on 08 octombrie 2019 - 18:54, said:
Este o chestie logica. Pentru baza 16 ai nevoie de 16 semne distincte, s-a specificat deja in topic acest lucru Pana la urma vorbim dpdv matematic unde pentru un sistem X numit baza e nevoie de X simboluri distincte care sa reprezinte cele X valori de baza numite cifre in acea baza iar valorile sunt de la 0 la X - 1. Parca asa am invatat la scoala acum ceva ani. Intrebare: Daca eu numar si scriu in cuvinte: unu, doi, trei patru, ..... noua, zece, unsprezece, doisprezece, ..... in ce baza scriu aceste numere ? Repet sunt cuvinte, nu sunt cifre. Scriu numerele cu cuvinte, deci in ce baza sunt aceste numere ? |
#33
Posted 08 October 2019 - 21:30
Asta e o discutie filozofica in ce o dam aici. Si apoi zici unsprezece (deh obisnuinta si lipsa unui cuvant care sa reprezinte acea valoare intr-o baza mai mare ca 10) in hexazecimal. Se specifica baza, fara a se specifica baza 99.9999% din oameni vor alege varianta baza zece. Sau altfel zis unsprezece ca si cuvant poate fi in baza 2, 8, 10, 16 sau in orice alta baza in between or not.
|
|
#34
Posted 08 October 2019 - 22:23
10 poate fi o cantitate sau un numar intr-o anumita baza sau... un simbol - cu asta nu se impaca multi, ca cica e compus din 2 semne. Pai toate literele cu diacritice sunt compuse din 2 semne. Dar inteleg punctul de vedere al multora. OK, va e frica sa nu le incurcati dar nu va puneti problema ca poate incurcati B cu D cu C cu F, ca poate nu stii sa numeri pe litere.
Dihorul Razboinic, on 08 octombrie 2019 - 16:48, said:
Btw, C++ inseamna tot 15, nu? |
#35
Posted 08 October 2019 - 22:59
Sa nu incurcam litera [aA] a alfabetului cu cifra [aA]. Una este o litera alta este o cifra. Iar o litera care are accent sau diacritice este considerata o singura litera nu doua. Intelegi diferenta? O litera oarecare ce foloseste diacritice pentru a reprezenta un sunet nu este formata din 2 sau mai multe litere distincte, exemplu: nu il iei pe A si pe E le pui una langa alta si rezulta o alta litera. Asa si in cazul cifrelor.
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users