Cifrele in hexadecimal
#1
Posted 07 October 2019 - 22:40
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? Edited by Dihorul Razboinic, 07 October 2019 - 22:41. |
#2
Posted 07 October 2019 - 22:46
In hexazecimal ai la dispozitie 16 octeti.
Nu ai unde sa mai inghesui si semnele de punctuatie. 012345679ABCDEF e una, iar 0123456789, 10 ,11,12,13,14,15 e alta. Edited by pasilla, 07 October 2019 - 22:48. |
#3
Posted 07 October 2019 - 22:57
In PC Pe ecran
0000 = 0 0001 = 1 0010 = 2 .... 1001 = 9 0001 0000 = 10 nu pusca 0001 0001 = 11 iar nu pusca ca trebuie inca 4 biti in plus ca sa reprezinte doi de unu asa ca 1010 = A 1011 = B |
#4
Posted 07 October 2019 - 23:00
Asa este conventia, de la 0 la 9 sunt numere in baza 10. Daca vrei in baza 16 mai trebuie adaugate simboluri pentru a avea 16 semne grafice UNICE. Pentru a scrie un numar alcatuit din cifre, este nevoie de toate cele 16 semne, pentru asta au fost adaugate litere, pentru a nu inventa simboluri pentru inca 6 numere. Iar la transformarea numerelor hexazecimale in sistemul binar, corespondenta se face automat
Nu stiu de unde ai scos ca babilonienii aveau sistemul de numarare in baza 60 si numarau cu cifre arabe, in baza 10. Tocmai asta este spilul, ca trebuie 60 de caractere pentru a folosi sistemul in baza 60. Edited by claudiu1, 07 October 2019 - 23:02. |
#5
Posted 07 October 2019 - 23:19
Un număr de scrie că sumă de puteri:
1234 = 1*10^3 + 2*10^2 + 3*10^1 + 4*10^0 La fel și cu hexazecimal, binar sau orice altă bază. Un număr este o sumă de numere mai mici. Noi folosim baza 10 pentru că avem 10 degete la maini, calculatorul folosește baza 2 pentru că că are doar 2 poziții ON și OFF. ATENȚIE! Nu are legătură cu baza 10 faptul că sunt 10 simboluri pentru cifre: și scrierea romană este tot in baza 10 și are litere (deci nici o legătură cu 0 - 9). Edited by PlatonX, 07 October 2019 - 23:20. |
#6
Posted 07 October 2019 - 23:34
pasilla, on 07 octombrie 2019 - 22:46, said:
In hexazecimal ai la dispozitie 16 octeti. Nu ai unde sa mai inghesui si semnele de punctuatie. 012345679ABCDEF e una, iar 0123456789, 10 ,11,12,13,14,15 e alta. Deci de ce nu putem scrie pe hirtie 10, 11, 12, ...? Ar fi mai putine cifre de invatat. claudiu1, on 07 octombrie 2019 - 23:00, said:
Asa este conventia, de la 0 la 9 sunt numere in baza 10. Daca vrei in baza 16 mai trebuie adaugate simboluri pentru a avea 16 semne grafice UNICE. Pentru a scrie un numar alcatuit din cifre, este nevoie de toate cele 16 semne, pentru asta au fost adaugate litere, pentru a nu inventa simboluri pentru inca 6 numere. Iar la transformarea numerelor hexazecimale in sistemul binar, corespondenta se face automat Nu stiu de unde ai scos ca babilonienii aveau sistemul de numarare in baza 60 si numarau cu cifre arabe, in baza 10. Tocmai asta este spilul, ca trebuie 60 de caractere pentru a folosi sistemul in baza 60. Babilonienii, daca mai tin minte, foloseau doar 2 simboluri: 1 si 10. 43 era 10 10 10 10 1 1 1. Adica 43 in sistemul lor. Si cu asta basta. Nu inventau alte smecherii. PlatonX, on 07 octombrie 2019 - 23:19, said:
Un număr de scrie că sumă de puteri: 1234 = 1*10^3 + 2*10^2 + 3*10^1 + 4*10^0 La fel și cu hexazecimal, binar sau orice altă bază. Un număr este o sumă de numere mai mici. Noi folosim baza 10 pentru că avem 10 degete la maini, calculatorul folosește baza 2 pentru că că are doar 2 poziții ON și OFF. ATENȚIE! Nu are legătură cu baza 10 faptul că sunt 10 simboluri pentru cifre: și scrierea romană este tot in baza 10 și are litere (deci nici o legătură cu 0 - 9). Exemplu: 1 14 2 12 (in baza 16) = 1*16^3 + 14*16^2 + 2*16 + 12 (in baza 10) sau 1 E 2 C (in baza 16) = 1*16^3 + E*16^2 + 2*16 + C (in baza 10) In esenta e fix acelasi lucru. Dar de ce trebuie sa mai apara caricaturile alea de E si C? Doar ca sa putem scrie 1E2C in loc de 1 E 2 C sau 1 14 2 12? Edited by Dihorul Razboinic, 07 October 2019 - 23:35. |
#7
Posted 08 October 2019 - 00:06
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??? iar eu daca iti spun 111 - nu stii daca am vrut sa spun B1 sau 1B, 177 / 27 Edited by MarianG, 08 October 2019 - 00:08. |
#8
Posted 08 October 2019 - 00:18
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? 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? Dihorul Razboinic, on 07 octombrie 2019 - 23:34, said:
Totusi, dupa cum observi noi scriem si citim pe hirtie si ecran. In memoria calculatorului nu scriem, acolo cifrele astea sunt reprezentate in binar. Deci de ce nu putem scrie pe hirtie 10, 11, 12, ...? Ar fi mai putine cifre de invatat. OK, dar de ce nu ar fi simboluri si 10, 11, 12,... separate prin virgula sau spatiu sau in alt mod? Pt. scrierea pe hirtie. Babilonienii, daca mai tin minte, foloseau doar 2 simboluri: 1 si 10. 43 era 10 10 10 10 1 1 1. Adica 43 in sistemul lor. Si cu asta basta. Nu inventau alte smecherii. Bun. Exemplu: 1 14 2 12 (in baza 16) = 1*16^3 + 14*16^2 + 2*16 + 12 (in baza 10) sau 1 E 2 C (in baza 16) = 1*16^3 + E*16^2 + 2*16 + C (in baza 10) In esenta e fix acelasi lucru. Dar de ce trebuie sa mai apara caricaturile alea de E si C? Doar ca sa putem scrie 1E2C in loc de 1 E 2 C sau 1 14 2 12? Pentru ca sa scrii cu puncte spatii si doua cifre pentru un simbol e mult mai complicat si consumator de timp, d-aia. In loc sa apesi 4 taste pentru 1E2C apesi 9, mai mult de doua ori mai multe si mai e si usor de facut greseli si citit gresit pentru 1 14 2 12, plus ca trebuie sa introduci un caracter in plus, spatiul, care trebuie interpretat cind scrii un registru. |
#9
Posted 08 October 2019 - 01:31
Problema este că noi nu avem cuvinte pentru alte baze. Este un nonsens să spui TREIZECI ȘI DOI in baza 16.
Cuvantul in sine conține puteri ale lui zece. In loc de TREZECI ȘI DOI ar trebui să spunem DOUĂ ȘAISPREZECI. La TREIZECI ȘI ȘAPTE ar trebui să îi spunem DOUĂ ȘAISPREZECI ȘI TREI. Partea cu simbolurile este irelevantă pentru că există o mulțime de scrieri ale numerelor incepand de la scrierea numerelor direct cu cuvinte pană la scrierea in diferite reguli de scriere a numerelor (scriere arabă, romană, chineză, etc.). Tu intrebi de ce au notat cu litere: probabil că asta li s-a părut că ocupă cel mai puțin spațiu. Edited by PlatonX, 08 October 2019 - 01:34. |
#10
Posted 08 October 2019 - 06:42
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 ce cu litere??? Ca sa fie un singur semn (inconfundabil) pentru fiecare cifra (element) din baza de numeratie (in cazul asta 16). Edited by danpet, 08 October 2019 - 06:43. |
|
#11
Posted 08 October 2019 - 07:20
Partea asta cu simbolurile este una si baza este alta, sa nu facem confuzie intre ele. De fapt si eu am gresit cand am spsus ca in baza 16 ar trebui sa spunem: DOUA SAISPREZECI - pentru ca insasi cuvandul SAISPREZECI are in componenta sa cuvantul ZECI.
Voi va legati de faptul ca sunt 10 simboluri: 0-9, dar nu asta este ideea cu baza de numerotatie. Intrebare: Numarul MMXIX este in baza 10 sau nu este in baza 10 avand in vedere ca nu este scris cu simbolurile 0-9 ? |
#12
Posted 08 October 2019 - 07:32
Cititi in Wiki ca puteau fi alte simboluri, insa pana la urma s-a ales A, B, C. Tine de istoria calculatoarelor (cred).
Cum zice si colegul danpet, era musai un simbol pentru fiecare serie de 4 biti (ex 1010). Cum 11, 12, nu sunt un singur simbol si sunt doua, erau cam greu de folosit. Cum era sa fie 11 un singur simbol/careacter/semn si inca un 11 format din doua simboluri/caractere/semne de unu. Aiurea. Asa ca s-a ales A, B, C. Bine ca au mai fost si alte variante G, J, rusii foloseau alte litere etc. PlatonX, on 08 octombrie 2019 - 07:20, said:
Intrebare: Numarul MMXIX este in baza 10 sau nu este in baza 10 avand in vedere ca nu este scris cu simbolurile 0-9 ? 1011 = 11 0001 0001 = 11 Calculatorul vede bitii 01, tu vezi 11 11. De unde stii care e unsprezece si care e unu unu? |
#13
Posted 08 October 2019 - 08:04
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, ...? Simbolurile sau cifrele hexazecimale trebuie sa fie diferite. 11, 12....15 ar fi formate din simboluri ce mai exista, adica 1, 2 ..... 5. Calculatorul nu are treaba cu A, B....F. El oricum lucreaza cu date binare. Conventia aceasta numita hexazecimal a aparut pt a ajuta programatorul sa realizeze programele. Este mai usor sa programezi in hexazecimal decat in binar. (acum 80 de ani se programa initial in binar, apoi s-a mai evoluat un pic, s-a trecut la hexazecimal) Edited by TheWarrior, 08 October 2019 - 08:08. |
#14
Posted 08 October 2019 - 08:05
Calculatorul prin definitie nu poate sa inteleaga in baza diferita de 2.
Eu am scris un numar cu cifre romane: MMXIX. Avand in vedere ca este scris cu cifre romane, este in baza 10 sau nu este in baza 10 si de ce ? Atunci cand operezi cu baze diferite SI aceleasi simboluri grafice trebuie specificat in ce baza esti, adica daca scrii 111 trebuie sa specifici ca este in baza 2 sau in baza 10 pentru ca nu este acelasi lucru. Observ ca pe topic se insista cu aceasta confuzie: baza 10 inseamna 10 cifre (0-9), baza 16 inseamna 16 cifre (0-F). Ganditi-va ca un numar poti sa il scrii si in cuvinte, nu are legatura cu cifrele arabe, este confuzie care perista pe topic. Baza unui numar inseamna numarul de oridine, practic in cate subgrupuri imparti multimea. Daca ai o multime de elemente si o imparti in grupuri de cate 10 esti in baza 10, daca o imparti in grupuri de cate 16 esti in baza 16. Problema este ca nu avem cunvinte pentru alte baze, toate cuvintele pentru numere sunt in baza 10: unsprezece, treizecisipatru, doua sute patru zeci si opt, etc. Deci in componenta cuvantului intra cuvantul zece sau puteri ale lui zece. Edited by PlatonX, 08 October 2019 - 08:13. |
#15
Posted 08 October 2019 - 08:14
Parerea mea e ca trebuia alte simboluri pentru hexazecimal, diferite de zecimal ca sa elimine orice confuzie. Recent la o masinarie aparea eroarea 35 si cautam in lista 35 zecimal si gaseam ceva ce nu avea legatura si uite asa am pierdut cateva zila pana mi-a picat fisa ca e hexazecimal.
|
|
#16
Posted 08 October 2019 - 08:34
De obicei se specifica 0x35 sau 35h, daca e hexazecimal.
|
#17
Posted 08 October 2019 - 08:51
#18
Posted 08 October 2019 - 08:51
Ce trebuie retinut. Sistemul hexazecimal trebuie privit ca o conventie, si este preferat de programatorii in limbaj de asamblare pentru ca scuteste programatorul de scrierea sirurilor lungi de 1 și 0, si de asemenea se face mai usor conversia in binar decat in cazul sistemului zecimal.
Drept sa spun, eu nu mai stiu pe nimeni care programeaza in limbaj de asamblare. Chiar si in cazul microcontrolerelor se foloseste C. Edited by TheWarrior, 08 October 2019 - 08:52. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users