Diferencia entre revisiones de «Representació de la informació»

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda
Línea 172: Línea 172:
{| class="wikitable"
{| class="wikitable"
| Signe  
| Signe  
| Exponent
| Exponent                
| Mantisa
| Mantisa                
|}
|}



Revisión del 14:04 2 oct 2012

Els sistemes informàtics manegen informació. Ja sigui com a entrada, com a procés o com a sortida. Hi ha dos tipus de sistema en funció del tractament que facin de la informació: Els sistemes de flux d'informació en què la informació d'entrada i sortida és la mateixa i els sistemes de tractament de la informació, on la informació és tractada i ofereixen una informació de sortida diferent a la d'entrada. La informació en un sistema informàtic ha d'estar representada per uns símbols que el sistema pugui emmagatzemar o processar. La informació està composta de dades, aquestes dades poden classificar com:

  • Dades Numèrics.
  • Dades alfabètics.
  • Dades alfanumèrics.

Perquè pugui ser emmagatzemada o processada la informació, cal una correspondència entre els símbols i els que utilitza l'ordinador. Això es diu codificació i el contrari descodificació. Per als caràcters alfanumèrics podem utilitzar codificacions com l'ASCII o el EDBCDIC i per als nombres, codificacions basades en el sistema de numeració binari.

Representació de números naturals

El sistema binari és el que utilitzen els ordinadors des dels seus començaments. La raó d' usar és perquè els ordinadors utilitzaven interruptors que podien estar encesos 1 o apagats 0. Amb aquests dos símbols es representa tota la informació que poden emmagatzemar i processar els ordinadors.

Sistema binari vol dir que està en base 2, és a dir, que utilitza els símbols 0 i 1 per representar els nombres.

Com que és un sistema posicional, el valor d'un un símbol depèn de la seva posició. Per que per passar de binari a decimal cal multiplicar el dígit per 2 elevat a la seva posició. Per exemple el número 1101 és igual a 1 * 2 ^ 3 + 1 * 2 ^ 2 + 0 * 2 ^ 1 + 1 * 2 ^ 1 = 13 Per passar de decimal a Binari (o qualsevol base) cal dividir el nombre entre 2 i el resultat de nou entre dos fins que el resultat sigui inferior a 2 i quedar-se amb el resultat i les restes de dreta a esquerra.

Per exemple el número 13 en base 10 els dividim entre 2 i tenim de resta 1 i de quocient 6 que dividit entre dos dóna de resta 0 i de quocient 3 que dividit entre dos dóna de resta 1 i de quocient 1 pel que el nombre resultant en base 2 és 1101.

Si hi ha decimals, per passar de binari a decimal cal multiplicar el símbol per 2 elevat a la seva posició negativa i sumar. I per passar de decimal a binari cal separar els enters dels fraccionaris, els sencers es fan com sempre i els fraccionaris es multipliquen successivament per 2 i agafant la part sencera:

0,35 * 2 = 0,70 -----------------0

0,70 * 2 = 1,40 -----------------1

0,40 * 2 = 0,80 -----------------0

0,80 * 2 = 1,60 -----------------1

0,60 * 2 = 1,20 -----------------1


Així que 0,35 = 0,01011

Com veiem, un nombre decimal amb xifres decimals finites pot esdevenir un nombre binari amb decimals infinits. Això pot produir alguns problemes amb els arrodoniments en càlculs fets amb ordinador.

Aquesta forma de passar de decimal a binari i de binari a decimal és extrapolable a totes les bases. Normalment per passar d'una base diferent de 10 a altres distintes a 10 és necessari passar-la a base 10 i després a l'altra base. Però més endavant veurem que existeixen mètodes més senzills per a determinades bases.

Octal

El sistema octal és un sistema en base 8, de manera que els símbols que utilitza són:

0,1,2,3,4,5,6,7

Mentre que el mètode per passar del sistema octal al decimal és el mateix que el binari, el mètode per passar a binari és bastant més senzill.

Com que 8 és potència de 2, per passar de octal a binari només cal substituir cada xifra pel seu equivalent en binari amb 3 dígits.

Per exemple:

234 base 8 és igual a 010.011.100 = 10.011.100 en binari Per passar de binari a octal només cal agrupar en grups de 3 xifres el nombre a binari començant per la dreta i substituir-lo per el seu valor en octal:

1100110101101 -> 001 100 110 101 101 = 14655 en octal

Si falten xifres es substitueixen per zeros a l'esquerra. En cas que tingui decimals es utilitzar el mateix sistema sense problemes, però els zeros s'afegeixen a la dreta en el cas que faltin.

Hexadecimal

El sistema Hexadecimal és a base 16, els símbols que fa servir són:

0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F

El hexadecimal és un sistema molt utilitzat per representar nombre binaris sense haver de escriure tants nombres. I ja que és potència de 2 com el octal, el pas de Hexadecimal a Binari és igual de senzill. En aquest cas els grups són de 4 xifres.

Operacions en binari

Com que els ordinadors treballen amb binari cal esmentar les operacions que es poden fer sobre nombres binaris, les lògiques i les aritmètiques. Hi ha 4 operacions lògiques que es poden realitzar amb nombres binaris: AND, OR, NOT, XOR. Aquestes operacions es realitzen bit a bit.

  • L'operació AND té resultat 1 només si els dos operands tenen com valor 1
  • L'operació OR té resultat 0 només si els dos operands tenen com valor 0
  • L'operació XOR té resultat 1 si els dos operands són distintintos un de l'altre.
  • L'operació NOT inverteix el bit, si val 1 és 0 i si val 0 és 1

Per sumar en binari és igual que en decimal, si els sumands donen més que 1 "Portem", això es diu arrossegament o carry.

Per restar és igual que en el sistema decimal, en el cas de 0 -1 el que fem és prendre una unitat prestada de la posició següent que serà retornada sumada. Per exemple:

1110101
- 11001
-----------
1011100

El producte és molt senzill en binari perquè el 0 multiplicat per qualsevol és 0 i el 1 és el neutre de la multiplicació. El mètode és el mateix que en decimal.

La divisió es realitza de la mateixa manera que en decimal, cal dir que les restes en la divisió es fan en binari.

Representació de números sencers

BCD

Serveix per codificar nombres decimals a binari (Binary Coded Decimal) S'utilitzen quatre bits per a cada xifra en decimal del nombre. Per exemple:

1982 = 0001 1001 1000 0010

Hi ha diversos tipus de BCD:

  • Natural: En el qual cada xifra correspon amb el seu codi en binari.
  • Aiken: En el qual cada xifra és el complement a 9 de la seva simètrica. Això fa que les

operacions de resta i divisió es puadan fer amb més facilitat.

  • Excés a 3: S'obté sumant 3 a la xifra en binari també és complement a 9 del

seva simètric.

Si Volem representar el signe podem utilitzar el BCD empaquetat ficant al final 1100 per al + o 1101 per al -

Altres en la Wikipedia: [1]

Representació de números reals

Per representar reals s'usa el sistema de coma flotant. Aquest sistema permet representar nombres amb decimals i nombres molt grans i molt petits. les operacions amb nombres en coma flotant són més complexes i per a elles hi ha circuits específics anomenats coprocessadors matemàtics.

Un nombre R es representa de la següent manera:

R = M x B ^ E

On:

  • M és la mantissa, té signe i sol ser un nombre fraccionari
  • B és la base de l'exponent que sol ser 2
  • I és l'exponent.

El sistema és igual a la notació científica normalitzada en què la mantissa no té part sencera i la primera xifra després de la coma és diferent de 0. En la memòria de l'ordinador aquest és l'ordre dels camps:

Signe Exponent Mantisa

En els computadors de 32 bits per al signe s'usa 1 bit, per l'exponent 8 pel exponent i 23 per a la mantissa. En els de 64 bits s'usa 1 per al signe, 11 per l'exponent i 52 per a la mantissa. Ja que el primer bit de la mantissa sempre seria 1, aquest es pot obviar usant la tècnia del bit implícit. L'exponent està en excés 127 per 32 bits i 1023 per a 64 bits. Hi ha desbordament si: El nombre en valor absolut és tan gran que no pot ser representat. overflow El nombre en valor absolut és tan a prop del zero que que no es pot representar. Underflow.