<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lecciones Prácticas &#187; Informática &#8211; teoría</title>
	<atom:link href="http://www.leccionespracticas.com/informatica-teoria/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.leccionespracticas.com</link>
	<description>informática y bibliotecas 2.0</description>
	<lastBuildDate>Mon, 06 Feb 2012 13:36:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Teoría: sistemas de codificación binaria y operaciones</title>
		<link>http://www.leccionespracticas.com/informatica-teoria/teoria-sistemas-de-codificacion-binaria-y-operaciones/</link>
		<comments>http://www.leccionespracticas.com/informatica-teoria/teoria-sistemas-de-codificacion-binaria-y-operaciones/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 10:41:25 +0000</pubDate>
		<dc:creator>miguel</dc:creator>
				<category><![CDATA[Informática - teoría]]></category>
		<category><![CDATA[bcd]]></category>
		<category><![CDATA[complemento a dos]]></category>
		<category><![CDATA[complemento a uno]]></category>
		<category><![CDATA[oposiciones]]></category>
		<category><![CDATA[signo y magnitud]]></category>
		<category><![CDATA[sistemas de codificación binaria]]></category>

		<guid isPermaLink="false">http://miguelmartin.x10hosting.com/blog/?p=107</guid>
		<description><![CDATA[Representación de ENTEROS POSITIVOS BCD (binary coded decimal) En BCD cada cifra que representa un dígito decimal (0, 1,&#8230;8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p><font color="red">Representación de ENTEROS POSITIVOS</font><br />
<u><b>BCD (<i>binary coded decimal</i>)</u></b><br />
En BCD cada cifra que representa un dígito decimal (0, 1,&#8230;8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar en BCD).<br />
Por ejemplo, el número 36 codificado en BCD sería: <code>0011 0110</code><br />
<u>Sumando en BCD</u>: si se produce desbordamiento se suma a ese grupo de bits 6, osea 0110 y se propaga el overflow. Por ejemplo:</p>
<pre><code>
   19 =       0001         1001
   29 =       0010         1001
              ------------------
                       (1) 0010   (se suma 0110 a esta parte y se propaga el 1 al siguiente grupo)
                           0110
              ------------------
              0001          |
              0010          |
             ---(1)         |
             -------------------
              0100         1000</code></pre>
<p><font color="red">Representación de ENTEROS CON SIGNO</font><br />
<u><b>Signo y magnitud</b></u><br />
Se reserva el MSB (more significant bit) para el signo y el resto para la magnitud (módulo)<br />
Desventaja: doble representación del 0 y no se puede sumar/restar directamente.<br />
Para SUMAR: primero sumar módulos y fijarse si existe overflow. después añadir el MSB que determina el signo.<br />
Por ejemplo, con n=4bits:<br />
<code>+6=0 110<br />
-6 = 1 110</code><br />
<u>suma de dos números positivos (o dos negativos)</u>:<br />
<code>0 110 --> módulo =   110<br />
0 110 --> módulo =   110<br />
Suma (módulos)   = 1100 --> EXISTE OVERFLOW --> hay que aumentar en uno el número de bits<br />
Resultado: ambos son positivos, por lo que la suma es también positiva ---> 0 1100</code></p>
<p><u>sumando positivos y negativos</u><br />
Regla: restar al módulo del mayor el módulo del menor y después colocar símbolo.</p>
<p>- si el módulo del número positivo > módulo del negativo &#8211;> resultado positivo &#8211;> MSB=0<br />
<code> 2 = 0 010<br />
-1 = 1 001<br />
2 - 1 = 010 - 001 = 001 ---> como resultado>0 ---> 0 001</code></p>
<p>- si el módulo del número positivo < módulo del negativo --> resultado negativo &#8211;> MSB=1<br />
<code>-2 = 1 010<br />
1 = 1 001<br />
-2 +1 = 010 - 001 = 001 ---> como resultado<0 ---> 1 001</code></p>
<p><u><b>BCD con SIGNO</u></b><br />
También conocido como BCD empaquetado. Se almacena, en los 4LSB&#8217;s, la información del signo (<code>positivo=1100, negativo=1101</code>)<br />
Por ejemplo:<br />
<code>127   = 0001 0010 0111 1100<br />
-127  = 0001 0010 0111 1101</code></p>
<p><u><b><a href="http://es.wikipedia.org/wiki/Complemento_a_uno">Complemento a uno</a></b></u><br />
<code>Ca1(N)=(2^n)-N-1</code> siendo n el número de dígitos<br />
<code>N-->negado-->Ca1(N)</p>
<p>Problema: la duplicidad de representación del número 0<br />
Operar: sumar el acarreo del MSB al resultado de la suma<br />
Por ejemplo:<br />
<code>6 (base 10) = 0110<br />
-6 (base 10) = 1001<br />
Cuya suma es: 0110+1001 = 1111 y NO OVERFLOW ---> resultado = 1111 = 0000</code></p>
<p><code>2 (base 10) = 0010<br />
-1 (base 10) = 1110<br />
Cuya suma es:<br />
    0010<br />
    1110<br />
   ------<br />
(1)0000 --> se suma el acarreo=(1) al LSB---> 0001</code></p>
<p><u><b><a href="http://es.wikipedia.org/wiki/Complemento_a_dos">Complemento a dos</a></b></u><br />
<code>Ca2(N) = (2^n) - N</code>  siendo n el número de dígitos<br />
<code>N-->negado-->+1-->Ca2(N)</code><br />
Ventaja: no existe duplicidad en la representación del número 0.</p>
<p>Por ejemplo:<br />
<code>6    (base10) = 0110  (base2)<br />
-6   (base10) = 2^4 - 6 = 16-6=10 = 1010 (base2)</p>
<p>                bin         neg         +1<br />
                --> 0110 --->1001 ---> 1010</code></p>
<p>La suma de ambos es 0110+1010=0000</p>
<p>Algo más de información, como siempre, en <a href="http://es.wikipedia.org/wiki/Representaci%C3%B3n_de_n%C3%BAmeros_con_signo">Wikipedia</a>.</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.leccionespracticas.com/informatica-teoria/teoria-sistemas-de-codificacion-binaria-y-operaciones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

