Jump to content
adonisslanic

Critical: Binary Reading :D

Recommended Posts

Posted (edited)

In primul rand, am cautat pe forum si nu am gasit nimic pe genul... so... let's start!

Codul binar, sau sistemul numeric in baza 2, este format doar din 2 elemente: 0 si 1 Pe baza acestui principiu, toate sistemele digitale din ziua de azi functioneaza...

Sa luam de exemplu codul: 01101. Ca sa putem citi usor pentru inceput, ia o foaie si un pix (nu un text editor, serios) si noteaza vertical codul, uite asa:

0

1
1
0
1

Apoi pe baza acestei formule, calculezi: cifra*(2^y) unde y ia valori de la 0 la cate cifre are codul. Luand ca exemplu codul anterior, avem:

0 * 2 ^ 4  =  0 * 16 = 0 
1 * 2 ^ 3 = 1 * 8 = 8
1 * 2 ^ 2 = 1 * 4 = 4
0 * 2 ^ 1 = 0 * 2 = 0
1 * 2 ^ 0 = 1 * 1 = 1

Apoi adunam rezultatele:

1+0+4+8+0=13

Deci 01101 este in cod decimal 13 :)

Deci trebuie luate in considerare niste chestii:

1. Daca elementul e 0, ia-l ca atare, adica noteaza 0 si incrementeaza y-ul cu 1 :)

2. Dupa cum vezi, daca stii bazele lui 2, poti citi foarte usor codul binar :)

O sa mai updatez acest scurt tutorial cu posturile voastre si cu alte chestii utile legate de acest sistem numeric care sta la baza civilizatiei moderne.

P.S. : mayasii lucrau in baza 60 ;)) si noi lucram in baza 2

Useful links: [Python] Float Base Converter (console) [cmiN] -> Convertor dintr-o baza intr-alta vezi pe wiki daca nu se intelege usor din cod.

Edited by adonisslanic
Posted

Poti spune cum se face invers? Ca am uitat ;)) Adica din baza 2 in baza 10.

PS: Din cate cunosc forumul si unii membrii ai acestuia, sigur vor aparea discutii de genul "ba ejti prost" "ratat" etc. Asta este, nu imi mai aduc aminte. Voua nu vi s-a intamplat niciodata?

Posted

In other words:


11101010 = 8chars

so the formula will be


[1x(2^7)]+[1x(2^6)]+[1x(2^5)]+[0x(2^4)]+[1x(2^3)]+[0x(2^2)]+[1x(2^1)]+[1x(2^0)]
=
(1x128)+(1x64)+(1x32)+(0x16)+(1x8)+(0x4)+(1x2)+(1x1)
=
128+64+32+0+8+0+1+1
=
234

Posted

You'll need base 2 table which looks like:


2^0=1
2^1=2
2^2=4
2^3=8
2^4=16
2^5=32
2^6=64
2^7=128
2^8=256
...

and you put 1 every time you can subtract the base two value from your number and 0 when you can't when you subtract you make the differences and compare the values again.


234 < 256 we will start from 128

234 - 128 = 106 -> 1
106 - 64 = 42 -> 1
42 - 32 = 10 -> 1
10 < 16 -> 0
10 - 8 = 2 -> 1
2 < 4 -> 0
2 - 2 = 0 -> 1
1 > 0 -> 0

Posted

chiar aseara am stat si mi-am batut capul cu codul binar de ce naiba nu am gasit asta mai devreme , oricum bv insf am inteles si eu cum e ...apropo poate facem si ceva probleme de aritmetica cu traducerea lor in C++ ,eu zic ca e o idee buna !?

Posted

Am citit chestiile astea intr-un tutorial acum cateva saptmani... dar nu am inteles cum se face interpretarea.. se face zecimal sau binar. adica procesorul face o intructiune dupa numarul 13 sau face o succesiune de 5 instructiuni dupa codul 01101?

Posted

Is more complicated than that, but in short words 5 instructions ;) is based on AND / OR circuits, let's say millions of transistors which acts as micro switches, and combination between them.

simlog.gif

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...