<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-991317456146976656</id><updated>2012-02-16T17:14:58.104-04:30</updated><category term='Programación'/><category term='Matemáticas'/><category term='Estándares'/><category term='Lógica'/><category term='Biografías'/><category term='Conjuntos'/><category term='Pascal'/><category term='C/C++'/><title type='text'>El Webatario</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-8702003952650456647</id><published>2008-05-04T22:09:00.008-04:30</published><updated>2008-05-12T21:22:20.392-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conjuntos'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Implementación de Conjuntos en C/C++</title><content type='html'>&lt;div align="justify"&gt;Presentamos ahora la implementación de conjuntos en el lenguaje C/C++, el cual no cuenta con un tipo de datos específico, tal como el SET de Pascal, por lo que hemos recurrido a los operadores lógicos binarios, ya descritos en anteriores entradas (&lt;a href="http://webatario.blogspot.com/2008/02/operadores-lgicos-binarios-primera.html"&gt;1&lt;/a&gt;)(&lt;a href="http://webatario.blogspot.com/2008/02/operadores-lgicos-binarios-segunda.html"&gt;2&lt;/a&gt;). &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Cada elemento de un conjunto de éstos está representado por un &lt;i&gt;bit,&lt;/i&gt; y solamente permite datos de tipo base enteros, concretamente &lt;i&gt;unsigned char&lt;/i&gt;. Se agrupan hasta 128 datos almacenados en un arreglo de 16 elementos. Veamos el código:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;//Conjuntos.Cpp&lt;br /&gt;&lt;br /&gt;#include "stdio.h"&lt;br /&gt;#include "conio.h"&lt;br /&gt;#include "alloc.h"&lt;br /&gt;&lt;br /&gt;/* Definiciones */&lt;br /&gt;&lt;br /&gt;#define M 128     // Elementos del conjunto&lt;br /&gt;#define N 16        // Elementos del arreglo. M /8&lt;br /&gt;&lt;br /&gt;unsigned char A[N], B[N], *C;&lt;br /&gt;unsigned char x, y;&lt;br /&gt;&lt;br /&gt;/* Prototipos de funciones */&lt;br /&gt;void Iniciar (unsigned char C[]);&lt;br /&gt;unsigned char byte (unsigned char x);&lt;br /&gt;unsigned char bit (unsigned char x);&lt;br /&gt;unsigned char Pertenece (unsigned char x, unsigned char C[]);&lt;br /&gt;void Incluir (unsigned char x, unsigned char C[]);&lt;br /&gt;void Excluir (unsigned char x, unsigned char C[]);&lt;br /&gt;unsigned char *Union(unsigned char A[], unsigned char B[]);&lt;br /&gt;unsigned char *Interseccion (unsigned char A[], unsigned char B[]);&lt;br /&gt;unsigned char *Diferencia(unsigned char A[], unsigned char B[]);&lt;br /&gt;unsigned char *Complemento (unsigned char A[]);&lt;br /&gt;unsigned char Iguales(unsigned char A[], unsigned char B[]);&lt;br /&gt;void Escribir (unsigned char C[]);&lt;br /&gt;void Listar (unsigned char C[]);&lt;br /&gt;&lt;br /&gt;void main() {&lt;br /&gt;    // Iniciamos los conjuntos A y B&lt;br /&gt;    Iniciar(A); Iniciar(B);&lt;br /&gt;    &lt;br /&gt;    // Agregamos algunos elementos al conjunto A&lt;br /&gt;    for (x = 1; x &lt; M; x *= 2)             // Potencias de 2&lt;br /&gt;       Incluir(x, A);&lt;br /&gt;    printf("A = "); Escribir(A);&lt;br /&gt;    &lt;br /&gt;    // Agregamos al conjunto B los multiplos de 20&lt;br /&gt;    for (x = 20; x &lt; M; x += 20)&lt;br /&gt;        Incluir(x, B);&lt;br /&gt;    printf("B = "); Escribir(B);&lt;br /&gt;&lt;br /&gt;    // Hallamos la union de A y B en C&lt;br /&gt;    C = Union(A, B);&lt;br /&gt;    printf("Union de A y B = "); Escribir(C);&lt;br /&gt;&lt;br /&gt;    // Hallamos la interseccion de A y B en C&lt;br /&gt;    C = Interseccion(A, B);&lt;br /&gt;    printf("Interseccion de A y B = "); Escribir(C);&lt;br /&gt;&lt;br /&gt;    // Hallamos la diferencia de A y B en C&lt;br /&gt;    C = Diferencia(A, B);&lt;br /&gt;    printf("Diferencia de A y B = "); Escribir(C);&lt;br /&gt;&lt;br /&gt;    // Hallamos complemento del conjunto A&lt;br /&gt;    C = Complemento(A);&lt;br /&gt;    printf("Complemento de A = "); Escribir(C);&lt;br /&gt;&lt;br /&gt;    // Determinamos si los conjuntos A y B son iguales o diferentes&lt;br /&gt;    if (Iguales(A, B))&lt;br /&gt;        printf("\nA y B son iguales. \n");&lt;br /&gt;    else   &lt;br /&gt;        printf("\nA y B son diferentes. \n");&lt;br /&gt;    printf("\nA = "); Escribir(A);&lt;br /&gt;    printf("\nB = "); Escribir(B);&lt;br /&gt;&lt;br /&gt;    // Determinamos si los conjuntos A y C son iguales o diferentes&lt;br /&gt;    C = A;&lt;br /&gt;    if (Iguales(A, C))&lt;br /&gt;        printf("\nA y C son iguales. \n");&lt;br /&gt;    else&lt;br /&gt;        printf("\nA y C son diferentes. \n");&lt;br /&gt;    printf("\nA = "); Escribir(A);&lt;br /&gt;    printf("\nC = "); Escribir(C);&lt;br /&gt;&lt;br /&gt;    // Eliminamos algunos elementos del conjunto A&lt;br /&gt;    Excluir(8, A); Excluir(32, A);&lt;br /&gt;    printf("Despues de eliminar 8 y 32 de A.\n");&lt;br /&gt;    printf("\nA = "); Escribir(A);&lt;br /&gt;    getch();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* ************************************************ */&lt;br /&gt;&lt;br /&gt;/* Iniciar el conjunto */&lt;br /&gt;void Iniciar (unsigned char C[])  {&lt;br /&gt;    unsigned char i;&lt;br /&gt;    for (i = 0; i &lt; N; i++)&lt;br /&gt;        C[i] = 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Determinar byte que ocupa el elemento x  */&lt;br /&gt;unsigned char byte (unsigned char x)  {&lt;br /&gt;    return  (x / 8);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Determinar el bit del byte que ocupa el elemento  */&lt;br /&gt;unsigned char bit (unsigned char x) {&lt;br /&gt;    return (x % 8);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Incluir un elemento al conjunto  */&lt;br /&gt;void Incluir (unsigned char x, unsigned char C[]) {&lt;br /&gt;    C[byte(x)] |= (1 &lt;&lt; bit(x));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*  Excluir  un elemento del conjunto  */&lt;br /&gt;void Excluir (unsigned char x, unsigned char C[])  {&lt;br /&gt;    C[byte(x)] &amp;amp;= (255 - (1 &lt;&lt; bit(x)));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Determinar  si un elemento pertenece al conjunto  */&lt;br /&gt;unsigned char Pertenece (unsigned char x, unsigned char C[]) {&lt;br /&gt;    if (C[byte(x)] &amp;amp; (1 &lt;&lt; bit(x)))  return 1;&lt;br /&gt;    else return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*  Unión de dos conjuntos  */&lt;br /&gt;unsigned char *Union(unsigned char A[], unsigned char B[]) {&lt;br /&gt;unsigned char i, *C, *D;&lt;br /&gt;    C = (unsigned char *)malloc(N);&lt;br /&gt;    D = C;&lt;br /&gt;    for (i = 0; i &lt; N; i++)  {&lt;br /&gt;        *C = A[i] | B[i];&lt;br /&gt;        C++;&lt;br /&gt;    }&lt;br /&gt;    return D;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Intersección de dos conjuntos */&lt;br /&gt;unsigned char *Interseccion (unsigned char A[], unsigned char B[])  {&lt;br /&gt;unsigned char  i, *C, *D;&lt;br /&gt;    C = (unsigned char *) malloc(N);&lt;br /&gt;    D = C;&lt;br /&gt;    for (i = 0; i &lt; N; i++)  {&lt;br /&gt;        *C = A[i] &amp;amp; B[i];&lt;br /&gt;        C++;&lt;br /&gt;    }&lt;br /&gt;    return D;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Diferencia entre dos conjuntos  */&lt;br /&gt;unsigned char *Diferencia(unsigned char A[], unsigned char B[])  {&lt;br /&gt;unsigned char i, *C, *D;&lt;br /&gt;    C = (unsigned char *)malloc(N);&lt;br /&gt;    D = C;&lt;br /&gt;    for (i = 0; i &lt; N; i++ )  {&lt;br /&gt;        *C = A[i] &amp;amp; ~B[i];&lt;br /&gt;        C++;&lt;br /&gt;    }&lt;br /&gt;    return D;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Hallar el complemento de un conjunto  */&lt;br /&gt;unsigned char *Complemento (unsigned char A[])  {&lt;br /&gt;unsigned char  i, *C, *D;&lt;br /&gt;    C = (unsigned char *) malloc(N);&lt;br /&gt;    D = C;&lt;br /&gt;    for (i = 0; i &lt; N; i++)  {&lt;br /&gt;        *C = ~A[i];&lt;br /&gt;        C++;&lt;br /&gt;    }&lt;br /&gt;    return D;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Determinar si dos conjuntos son iguales  */&lt;br /&gt;unsigned char Iguales(unsigned char A[], unsigned char B[])  {&lt;br /&gt;unsigned char  i;&lt;br /&gt;    for (i = 0; i &lt; N; i++)&lt;br /&gt;        if (A[i] != B[i])  return 0;&lt;br /&gt;    return 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Determinar si un conjunto esta vacio&lt;br /&gt;unsigned char Vacio(unsigned char C[]) {&lt;br /&gt;unsigned char x;&lt;br /&gt;    for (x = 0; x &lt; N; x++)&lt;br /&gt;        if (C[x] != 0)  return 0;&lt;br /&gt;    return 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Escribir conjunto */&lt;br /&gt;void Escribir (unsigned char C[])  {&lt;br /&gt;unsigned char x;&lt;br /&gt;    if  (!Vacio(C))  {&lt;br /&gt;        printf("{ ");&lt;br /&gt;        for (x = 0; x &lt; M; x++)&lt;br /&gt;            if (Pertenece(x, C))  printf("%u, ", x);&lt;br /&gt;        printf("\b\b }");  // Borra la coma y el espacio anteriores&lt;br /&gt;    }&lt;br /&gt;    else  printf("{ }");&lt;br /&gt;    printf("\n\n");&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-8702003952650456647?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/8702003952650456647/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=8702003952650456647' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/8702003952650456647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/8702003952650456647'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2008/05/implementacin-de-conjuntos-en-cc.html' title='Implementación de Conjuntos en C/C++'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-2357155640337936739</id><published>2008-05-04T21:18:00.006-04:30</published><updated>2008-05-04T22:02:00.829-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conjuntos'/><category scheme='http://www.blogger.com/atom/ns#' term='Pascal'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Implementación de Conjuntos en Pascal</title><content type='html'>&lt;span xmlns=""&gt;&lt;p align="justify"&gt;&lt;span&gt;El lenguaje Pascal cuenta con el tipo de datos SET que permite manejar información aplicando los conceptos básicos de la Teoría de Conjuntos. La definición de una estructura de este tipo tiene la forma siguiente:&lt;br /&gt;&lt;span&gt;&lt;br /&gt;TYPE  &lt;em&gt;nombre&lt;/em&gt; = SET OF &lt;em&gt;tipo_base&lt;/em&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;Donde &lt;em&gt;tipo_base&lt;/em&gt; puede ser cualquier tipo ordinal, incluyendo los enumerados y los subrangos, pero con la limitación de un máximo de 255 elementos. Algunos ejemplos de conjuntos serían los siguientes:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;TYPE  &lt;br /&gt;     Dias = (Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, Domingo);&lt;br /&gt;&lt;span&gt;&lt;span&gt;      Puntos = 1..20;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;     Conjunto1 = SET OF Dias;&lt;br /&gt;&lt;span&gt;      Conjunto2 = SET OF Puntos;&lt;br /&gt;&lt;span&gt;      Conjunto3 = SET OF BYTE;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;VAR&lt;br /&gt;     A : Conjunto1;&lt;br /&gt;&lt;span&gt;      B : Conjunto2;&lt;br /&gt;&lt;span&gt;      C : Conjunto3;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Para representar un conjunto por extensión en Pascal se utilizan los símbolos [ y ], por ejemplo:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A := [Lunes, Jueves, Sabado];&lt;br /&gt;&lt;span&gt; B := [5, 9, 12, 16, 18];&lt;br /&gt;&lt;span&gt; C := [0..9, 15, 25, 44, 80..99];&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;Como podrán ver, pueden usarse subrangos en la enumeración de los elementos de un conjunto, tal como se permite en las matemáticas. Para representar el conjunto vacío se escriben los corchetes sin elementos, como en el siguiente ejemplo:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;A := [ ];&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Las funciones básicas de conjunto se ejecutan mediantes los siguientes operadores:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Unión :              +&lt;br /&gt;&lt;span&gt; Intersección :   *&lt;br /&gt;&lt;span&gt; Diferencia :       -&lt;br /&gt;&lt;span&gt; Subconjunto :   &lt;= &lt;span&gt;        &lt;br /&gt;Pertenencia :   IN&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Como muestra, presentamos un programa en Pascal donde se aplican algunas de estas funciones.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;PROGRAM Conjuntos;&lt;br /&gt;&lt;span&gt;      USES CRT;&lt;br /&gt;&lt;span&gt;      &lt;br /&gt;     TYPE Conjunto = SET OF Byte;&lt;br /&gt;&lt;span&gt;      &lt;br /&gt;     VAR   A, B, C, D : Conjunto;&lt;br /&gt;&lt;span&gt;                 N : ARRAY[1..100] OF BYTE;&lt;br /&gt;&lt;span&gt;                 k, y : INTEGER;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;(* Escribe los elementos de un conjunto *)&lt;br /&gt;&lt;span&gt;PROCEDURE EscribirConjunto(S : Conjunto);&lt;br /&gt;&lt;span&gt;      VAR  k : BYTE;&lt;br /&gt;&lt;span&gt;Begin&lt;br /&gt;&lt;span&gt;     IF NOT (S = []) THEN&lt;br /&gt;&lt;span&gt;     begin&lt;br /&gt;&lt;span&gt;         Write('{ ');&lt;br /&gt;&lt;span&gt;         For k := 0 TO 255 DO&lt;br /&gt;&lt;span&gt;             IF k IN S THEN Write(k, ', ');&lt;br /&gt;&lt;span&gt;         Writeln(CHR(8), CHR(8),  ' }');&lt;br /&gt;&lt;span&gt;     end&lt;br /&gt;&lt;span&gt;     ELSE&lt;br /&gt;&lt;span&gt;     Writeln('{ }');&lt;br /&gt;&lt;span&gt;     Writeln; Writeln;&lt;br /&gt;&lt;span&gt;End;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;(* Incluye elementos en el conjunto A *)&lt;br /&gt;&lt;span&gt;PROCEDURE IncluirElementos;&lt;br /&gt;&lt;span&gt;      VAR x, y : BYTE;&lt;br /&gt;&lt;span&gt;Begin&lt;br /&gt;&lt;span&gt;     REPEAT&lt;br /&gt;&lt;span&gt;          ClrScr;&lt;br /&gt;&lt;span&gt;          gotoXY(10, 10); Write('Escriba un número (0 - 255) : ');&lt;br /&gt;&lt;span&gt;          Readln(x);&lt;br /&gt;&lt;span&gt;          A := A + [x];&lt;br /&gt;&lt;span&gt;          gotoXY(10, 12); Write('Desea continuar (1 = Si, 2 = No) ? ');&lt;br /&gt;&lt;span&gt;          Readln(y);&lt;br /&gt;&lt;span&gt;     UNTIL (y = 2);&lt;br /&gt;&lt;span&gt;End;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;(* Incluir en el conjunto B los números potencia de 2 *)&lt;br /&gt;&lt;span&gt;PROCEDURE CrearConjunto;&lt;br /&gt;&lt;span&gt;      VAR k : INTEGER;&lt;br /&gt;&lt;span&gt;Begin&lt;br /&gt;&lt;span&gt;     k := 2;&lt;br /&gt;&lt;span&gt;     WHILE (k &amp;lt;= 255) DO&lt;br /&gt;&lt;span&gt;     begin&lt;br /&gt;&lt;span&gt;         B := B + [k];&lt;br /&gt;&lt;span&gt;         k := k * 2;&lt;br /&gt;&lt;span&gt;     end;&lt;br /&gt;&lt;span&gt;End;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;(* Rellenar un arreglo de números aleatorios sin repeticiones *)&lt;br /&gt;&lt;span&gt;PROCEDURE RellenarArreglo;&lt;br /&gt;&lt;span&gt;      VAR i, j, k, x, t : BYTE;&lt;br /&gt;&lt;span&gt;               S : Conjunto;&lt;br /&gt;&lt;span&gt;Begin&lt;br /&gt;&lt;span&gt;     S := [];   (* Inicialmente el conjunto está vacío *)&lt;br /&gt;&lt;span&gt;     Randomize;&lt;br /&gt;&lt;span&gt;     FOR k := 1 TO 100 DO&lt;br /&gt;&lt;span&gt;     begin&lt;br /&gt;&lt;span&gt;         REPEAT&lt;br /&gt;&lt;span&gt;              x := Random(256);        (* El tipo BYTE acepta 256 valores.     *)&lt;br /&gt;&lt;span&gt;         UNTIL NOT (x IN S);       (* Evita que hayan elementos repetidos. *)&lt;br /&gt;&lt;span&gt;         N[k] := x;&lt;br /&gt;&lt;span&gt;         S := S + [x];                               (* Incorporamos  x al conjunto *)&lt;br /&gt;&lt;span&gt;     end;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;  (* Ordenamos el arreglo ascendentemente *)&lt;br /&gt;&lt;span&gt;FOR i := 1 TO 99 DO&lt;br /&gt;&lt;span&gt;      FOR j :=  i + 1 TO 100 DO&lt;br /&gt;&lt;span&gt;           IF N[i]  &gt; N[j] THEN&lt;br /&gt;&lt;span&gt;           begin&lt;br /&gt;&lt;span&gt;               t := N[i];&lt;br /&gt;&lt;span&gt;               N[i] := N[j];&lt;br /&gt;&lt;span&gt;               N[j] := t;&lt;br /&gt;&lt;span&gt;           end;&lt;br /&gt;&lt;span&gt;End;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;PROCEDURE EscribirAyB;&lt;br /&gt;&lt;span&gt;Begin&lt;br /&gt;&lt;span&gt;     ClrScr;&lt;br /&gt;&lt;span&gt;     Write('A = '); EscribirConjunto(A);&lt;br /&gt;&lt;span&gt;     Write('B = '); EscribirConjunto(B);&lt;br /&gt;&lt;span&gt;     ReadKey;&lt;br /&gt;&lt;span&gt;End;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;PROCEDURE OperacionesBasicas;&lt;br /&gt;&lt;span&gt;Begin&lt;br /&gt;&lt;span&gt;     ClrScr;&lt;br /&gt;&lt;span&gt;     A := [2, 4, 6, 8, 10, 12, 14, 16, 18, 20];&lt;br /&gt;&lt;span&gt;     B := [3, 6, 9, 12, 15, 18, 21, 24, 27, 30];&lt;br /&gt;&lt;span&gt;     gotoXY(4, 10); Write('A = '); EscribirConjunto(A);&lt;br /&gt;&lt;span&gt;     gotoXY(4, 12); Write('B = '); EscribirConjunto(B);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;     (* Unión de los conjuntos A y B *)&lt;br /&gt;&lt;span&gt;     C := A + B;&lt;br /&gt;&lt;span&gt;     gotoXY(4, 14); Write('A U B = '); EscribirConjunto(C);&lt;br /&gt;&lt;span&gt;    &lt;br /&gt;    (* Intersección de los conjuntos A y B *)&lt;br /&gt;&lt;span&gt;     C := A * B;&lt;br /&gt;&lt;span&gt;     gotoXY(4, 16); Write('A ', CHR(239), ' B = '); EscribirConjunto(C);&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    (* Diferencia entre los conjuntos A y B *)&lt;br /&gt;&lt;span&gt;     C := A - B;&lt;br /&gt;&lt;span&gt;     gotoXY(4, 18); Write('A - B = '); EscribirConjunto(C);&lt;br /&gt;&lt;span&gt;     ReadKey;&lt;br /&gt;&lt;span&gt;End;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;PROCEDURE OtrasOperaciones;&lt;br /&gt;&lt;span&gt;Begin&lt;br /&gt;&lt;span&gt;     ClrScr;&lt;br /&gt;&lt;span&gt;     (* A es el conjunto de los pares *)&lt;br /&gt;&lt;span&gt;     A := [];&lt;br /&gt;&lt;span&gt;     k := 2;&lt;br /&gt;&lt;span&gt;     WHILE (k &amp;lt;= 255) DO&lt;br /&gt;&lt;span&gt;     begin&lt;br /&gt;&lt;span&gt;         A := A + [k];&lt;br /&gt;&lt;span&gt;         k := k + 2;&lt;br /&gt;&lt;span&gt;     end;&lt;br /&gt;&lt;span&gt;    &lt;br /&gt;    (* C es el complemento de A *)&lt;br /&gt;&lt;span&gt;     C := [];&lt;br /&gt;&lt;span&gt;     FOR k := 0 TO 255 DO&lt;br /&gt;&lt;span&gt;          IF NOT (k IN A) THEN&lt;br /&gt;&lt;span&gt;             C := C + [k];&lt;br /&gt;&lt;span&gt;    &lt;br /&gt;    (* D es el conjunto de los múltiplos de 4 *)&lt;br /&gt;&lt;span&gt;     D := [];&lt;br /&gt;&lt;span&gt;     k := 4;&lt;br /&gt;&lt;span&gt;     WHILE (k &amp;lt;= 255) DO&lt;br /&gt;&lt;span&gt;     begin&lt;br /&gt;&lt;span&gt;         D := D + [k];&lt;br /&gt;&lt;span&gt;         k := k + 4;&lt;br /&gt;&lt;span&gt;     end;&lt;br /&gt;&lt;span&gt;     Write('A = '); EscribirConjunto(A);&lt;br /&gt;&lt;span&gt;     Write('B = '); EscribirConjunto(B);&lt;br /&gt;&lt;span&gt;     Write('C = '); EscribirConjunto(C);&lt;br /&gt;&lt;span&gt;     Write('D = '); EscribirConjunto(D);&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    (* D es subconjunto de A *)&lt;br /&gt;&lt;span&gt;     IF D &lt;= A THEN &lt;span&gt;         Writeln('D es subconjunto de A')&lt;br /&gt;&lt;span&gt;     ELSE&lt;br /&gt;&lt;span&gt;        Writeln('D no es subconjunto de A');&lt;br /&gt;&lt;span&gt;     ReadKey;&lt;br /&gt;&lt;span&gt;End;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;PROCEDURE Arreglos;&lt;br /&gt;&lt;span&gt;Begin&lt;br /&gt;&lt;span&gt;     ClrScr;&lt;br /&gt;&lt;span&gt;     (* Un arreglo de 100 elemetos sin repeticiones *)&lt;br /&gt;&lt;span&gt;     RellenarArreglo;&lt;br /&gt;&lt;span&gt;     Writeln('Arreglo N: ');&lt;br /&gt;&lt;span&gt;     For k := 1 TO 100 DO&lt;br /&gt;&lt;span&gt;         Write(N[k]:4);&lt;br /&gt;&lt;span&gt;     ReadKey;&lt;br /&gt;&lt;span&gt;End;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;PROCEDURE VaciarConjuntos;&lt;br /&gt;&lt;span&gt;Begin&lt;br /&gt;&lt;span&gt;     A := [];&lt;br /&gt;&lt;span&gt;     B := [];&lt;br /&gt;&lt;span&gt;     C := [];&lt;br /&gt;&lt;span&gt;     D := [];&lt;br /&gt;&lt;span&gt;End;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;span&gt;      REPEAT&lt;br /&gt;&lt;span&gt;           ClrScr;&lt;br /&gt;&lt;span&gt;            gotoXY(10,  4); Write('1. Incluir Elementos en A');&lt;br /&gt;&lt;span&gt;            gotoXY(10,  6); Write('2. Crear Conjunto B');&lt;br /&gt;&lt;span&gt;            gotoXY(10,  8); Write('3. Escribir A y B');&lt;br /&gt;&lt;span&gt;            gotoXY(10, 10); Write('4. Operaciones Básicas');&lt;br /&gt;&lt;span&gt;            gotoXY(10, 12); Write('5. Otras Operaciones');&lt;br /&gt;&lt;span&gt;            gotoXY(10, 14); Write('6. Arreglos');&lt;br /&gt;&lt;span&gt;            gotoXY(10, 16); Write('7. Vaciar Conjuntos');&lt;br /&gt;&lt;span&gt;            gotoXY(10, 18); Write('0. Salir');&lt;br /&gt;&lt;span&gt;            gotoXY(10, 20); Write('Su Selección --&gt; ');&lt;br /&gt;&lt;span&gt;           Readln(y);&lt;br /&gt;&lt;span&gt;           CASE y OF&lt;br /&gt;&lt;span&gt;                1 : IncluirElementos;&lt;br /&gt;&lt;span&gt;                2 : CrearConjunto;&lt;br /&gt;&lt;span&gt;                3 : EscribirAyB;&lt;br /&gt;&lt;span&gt;                4 : OperacionesBasicas;&lt;br /&gt;&lt;span&gt;                5 : OtrasOperaciones;&lt;br /&gt;&lt;span&gt;                6 : Arreglos;&lt;br /&gt;&lt;span&gt;                7 : VaciarConjuntos;&lt;br /&gt;&lt;span&gt;                0 : Exit;&lt;br /&gt;&lt;span&gt;           End;&lt;br /&gt;&lt;span&gt;      UNTIL y = 0;&lt;br /&gt;&lt;span&gt;END.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-2357155640337936739?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/2357155640337936739/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=2357155640337936739' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/2357155640337936739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/2357155640337936739'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2008/05/implementacin-de-conjuntos-en-pascal.html' title='Implementación de Conjuntos en Pascal'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-6334879124059179413</id><published>2008-04-06T22:19:00.005-04:30</published><updated>2008-04-06T22:39:59.197-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conjuntos'/><category scheme='http://www.blogger.com/atom/ns#' term='Matemáticas'/><title type='text'>TEORÍA DE CONJUNTOS - Conceptos Básicos</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vTprQ5YcFi4/R_mPjChKjCI/AAAAAAAAAOQ/hNPuJ7YiKaY/s1600-h/Conjunto+1.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_vTprQ5YcFi4/R_mPjChKjCI/AAAAAAAAAOQ/hNPuJ7YiKaY/s400/Conjunto+1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186334278028004386" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vTprQ5YcFi4/R_mPeShKjBI/AAAAAAAAAOI/JN_3NFxCdac/s1600-h/Conjunto+2.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/R_mPeShKjBI/AAAAAAAAAOI/JN_3NFxCdac/s400/Conjunto+2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186334196423625746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vTprQ5YcFi4/R_mPZShKjAI/AAAAAAAAAOA/BREwkzPPX5Q/s1600-h/Conjunto+3.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/R_mPZShKjAI/AAAAAAAAAOA/BREwkzPPX5Q/s400/Conjunto+3.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186334110524279810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vTprQ5YcFi4/R_mPUyhKi_I/AAAAAAAAAN4/7EM-CqTUliI/s1600-h/Conjunto+4.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_vTprQ5YcFi4/R_mPUyhKi_I/AAAAAAAAAN4/7EM-CqTUliI/s400/Conjunto+4.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186334033214868466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vTprQ5YcFi4/R_mPQyhKi-I/AAAAAAAAANw/9n2FJYj16CQ/s1600-h/Conjunto+5.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_vTprQ5YcFi4/R_mPQyhKi-I/AAAAAAAAANw/9n2FJYj16CQ/s400/Conjunto+5.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186333964495391714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vTprQ5YcFi4/R_mPNChKi9I/AAAAAAAAANo/0zd57Bnwm38/s1600-h/Conjunto+6.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_vTprQ5YcFi4/R_mPNChKi9I/AAAAAAAAANo/0zd57Bnwm38/s400/Conjunto+6.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186333900070882258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vTprQ5YcFi4/R_mPIChKi8I/AAAAAAAAANg/kBHZG7fU7MY/s1600-h/Conjunto+7.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_vTprQ5YcFi4/R_mPIChKi8I/AAAAAAAAANg/kBHZG7fU7MY/s400/Conjunto+7.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186333814171536322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vTprQ5YcFi4/R_mPCihKi7I/AAAAAAAAANY/z80SrBpEfRE/s1600-h/Conjunto+8.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/R_mPCihKi7I/AAAAAAAAANY/z80SrBpEfRE/s400/Conjunto+8.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186333719682255794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vTprQ5YcFi4/R_mO-ShKi6I/AAAAAAAAANQ/VlKyFuQhcnU/s1600-h/Conjunto+9.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/R_mO-ShKi6I/AAAAAAAAANQ/VlKyFuQhcnU/s400/Conjunto+9.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186333646667811746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vTprQ5YcFi4/R_mO4yhKi5I/AAAAAAAAANI/4160uTzE92o/s1600-h/Conjunto+10.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_vTprQ5YcFi4/R_mO4yhKi5I/AAAAAAAAANI/4160uTzE92o/s400/Conjunto+10.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186333552178531218" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vTprQ5YcFi4/R_mO0ShKi4I/AAAAAAAAANA/FUQ54jUW3OU/s1600-h/Conjunto+11.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/R_mO0ShKi4I/AAAAAAAAANA/FUQ54jUW3OU/s400/Conjunto+11.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186333474869119874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vTprQ5YcFi4/R_mOvyhKi3I/AAAAAAAAAM4/09zqVvY2MyE/s1600-h/Conjunto+12.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_vTprQ5YcFi4/R_mOvyhKi3I/AAAAAAAAAM4/09zqVvY2MyE/s400/Conjunto+12.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186333397559708530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vTprQ5YcFi4/R_mOcihKi2I/AAAAAAAAAMw/_Mb-QXvKc2s/s1600-h/Conjunto+13.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/R_mOcihKi2I/AAAAAAAAAMw/_Mb-QXvKc2s/s400/Conjunto+13.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186333066847226722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vTprQ5YcFi4/R_mOYChKi1I/AAAAAAAAAMo/qX8h_zrPlPU/s1600-h/Conjunto+14.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_vTprQ5YcFi4/R_mOYChKi1I/AAAAAAAAAMo/qX8h_zrPlPU/s400/Conjunto+14.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5186332989537815378" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-6334879124059179413?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/6334879124059179413/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=6334879124059179413' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/6334879124059179413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/6334879124059179413'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2008/04/teora-de-conjuntos-conceptos-bsicos.html' title='TEORÍA DE CONJUNTOS - Conceptos Básicos'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_vTprQ5YcFi4/R_mPjChKjCI/AAAAAAAAAOQ/hNPuJ7YiKaY/s72-c/Conjunto+1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-9038707280801630126</id><published>2008-02-05T23:05:00.001-04:30</published><updated>2008-02-05T23:25:06.259-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lógica'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Operadores Lógicos Binarios – Segunda Parte</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Presentamos ahora algunas aplicaciones utilizando los operadores lógicos binarios, implementando una biblioteca de funciones de utilidad general, y un pequeño programa demostrativo de dichas funciones, las cuales pasamos a describir brevemente, aclarando que los números manejados son del tipo &lt;strong&gt;&lt;em&gt;unsigned char&lt;/em&gt;&lt;/strong&gt;, es decir, números enteros positivos de un byte.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;printbits&lt;/strong&gt;: Recibe un número en decimal y lo escribe en binario. Utiliza la función condicional implícita.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;onoff&lt;/strong&gt;: Recibe un número en decimal y la posición de un bit, y determina si ese bit está encendido (1) o apagado (0).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;put_on&lt;/strong&gt;: Recibe un número en decimal y la posición de un bit y lo enciende, es decir, lo convierte en 1.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;put_off&lt;/strong&gt;: Recibe un número en decimal y la posición de un bit y lo apaga, es decir, lo convierte en 0.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;right_rot &lt;/strong&gt;: Recibe un número en decimal (x) y un número entre 0 y 7 (n), y rota n posiciones a la derecha los bits de x.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;left_rot &lt;/strong&gt;: Recibe un número en decimal (x) y un número entre 0 y 7 (n), y rota n posiciones a la izquierda los bits de x.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;change_nibbles&lt;/strong&gt;: Recibe un número en decimal e Intercambia sus&lt;em&gt; nibbles&lt;/em&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;right_nibble&lt;/strong&gt;: Recibe un número en decimal y devuelve su &lt;em&gt;nibble&lt;/em&gt; derecho&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;left_nibble&lt;/strong&gt;: Recibe un número en decimal y devuelve su &lt;em&gt;nibble&lt;/em&gt; izquierdo&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;// Biblioteca de funciones de manipulacion de bits&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;// bits.h&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;// Escribe un numero en binario&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;void printbits(unsigned char x) {&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;for (int i = 7; i &amp;gt;= 0; i--)&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;    printf("%c", (x &amp;amp; (1 &amp;lt;&amp;lt; i)) ? '1' : '0');&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;// Determina si el bit n de un byte esta encendido (1) o apagado (0)&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;unsigned char onoff(unsigned char x, unsigned char n) {&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;      if (x &amp;amp; (1 &amp;lt;&amp;lt; n)) return 1;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;      else return 0;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;// Enciende un bit&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;unsigned char put_on(unsigned char x, unsigned char n) {&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;      return x |(1 &amp;lt;&amp;lt; n);&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;// Apaga un bit&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;unsigned char put_off(unsigned char x, unsigned char n) {&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;      return x &amp;amp; (255 - (1 &amp;lt;&amp;lt; n));&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;// Realiza la rotacion a la derecha&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;unsigned char right_rot(unsigned char x, unsigned char n) {&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;      return (x &amp;gt;&amp;gt; n) | (x &amp;lt;&amp;lt; (8 - n));&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;// Realiza la rotacion a la izquierda&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;unsigned char left_rot(unsigned char x, unsigned char n) {&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;     return (x &amp;lt;&amp;lt; n) | (x &amp;gt;&amp;gt; (8 - n));&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;// Intercambia los nibbles (4 bits) de un byte&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;unsigned char change_nibbles(unsigned char x) {&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;      return (x &amp;lt;&amp;lt; 4) | (x &amp;gt;&amp;gt; 4);&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;// Obtiene el nibble izquierdo&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;unsigned char left_nibble(unsigned char x) {&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;      return x &amp;gt;&amp;gt; 4;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;// Obtiene el nibble derecho&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;unsigned char right_nibble(unsigned char x) {&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;      return x &amp;amp; 15;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Listado 1.     bits.h&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Y ahora el programa ejemplo para demostrar el uso de las funciones de la biblioteca.&lt;br /&gt;&lt;span&gt;&lt;br /&gt;// Manejo de bits&lt;br /&gt;&lt;span&gt;// bits.cpp&lt;br /&gt;&lt;span&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;span&gt;#include &amp;lt;conio.h&amp;gt;&lt;br /&gt;&lt;span&gt;#include &amp;lt;C:\BC5\Programas\bits.h&amp;gt;   // Ubicar la ruta del archive de biblioteca&lt;br /&gt;&lt;span&gt;&lt;br /&gt;unsigned char m1, m2, n1, n2, x, y, z;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;void NuevaLinea();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;void main()  {&lt;br /&gt;&lt;span&gt;     m1 = m2 = 59;&lt;br /&gt;&lt;span&gt;     n1 = n2 = 172;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    printf("Valores originales.\n");&lt;br /&gt;&lt;span&gt;     printf("           76543210\n");&lt;br /&gt;&lt;span&gt;     printf("m1 = %3d = ", m1); printbits(m1); NuevaLinea();&lt;br /&gt;&lt;span&gt;     printf("n1 = %3d = ", n1); printbits(n1); NuevaLinea();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    printf("El bit 4 de m1 vale %d\n", onoff(m1, 5) ? 1 : 0);&lt;br /&gt;&lt;span&gt;     printf("El bit 4 de n1 vale %d\n", onoff(n1, 4) ? 1 : 0);&lt;br /&gt;&lt;span&gt;     NuevaLinea();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    printf("Se enciende el bit 6 de %3d. Resultado en x.\n", m2);&lt;br /&gt;&lt;span&gt;     x = put_on(m2, 6);&lt;br /&gt;&lt;span&gt;     printf("           76543210\n");&lt;br /&gt;&lt;span&gt;     printf(" x = %3d = ", x); printbits(x); NuevaLinea();&lt;br /&gt;&lt;span&gt;     printf("El bit 6 de x vale %d\n", onoff(x, 4) ? 1 : 0);&lt;br /&gt;&lt;span&gt;     NuevaLinea();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    printf("Se apaga el bit 5 de %3d. Resultado en y.\n", n2);&lt;br /&gt;&lt;span&gt;     y = put_off(n2, 5);&lt;br /&gt;&lt;span&gt;     printf("           76543210\n");&lt;br /&gt;&lt;span&gt;     printf(" y = %3d = ", y); printbits(y); NuevaLinea();&lt;br /&gt;&lt;span&gt;     printf("El bit 5 de y vale %d\n", onoff(y, 5));&lt;br /&gt;&lt;span&gt;     NuevaLinea();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    m2 = m1; n2 = n1;&lt;br /&gt;&lt;span&gt;     printf("%3d se rota 3 bits a la derecha. Resultado en x.\n", m2);&lt;br /&gt;&lt;span&gt;     x = right_rot(m2, 3);&lt;br /&gt;&lt;span&gt;     printf("           76543210\n");&lt;br /&gt;&lt;span&gt;     printf("m2 = %3d = ", m2); printbits(m2); NuevaLinea();&lt;br /&gt;&lt;span&gt;     printf(" x = %3d = ",  x); printbits(x);  NuevaLinea();&lt;br /&gt;&lt;span&gt;     NuevaLinea();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    printf("%3d se rota 3 bits a la izquierda. Resultado en y.\n", n2);&lt;br /&gt;&lt;span&gt;     y = left_rot(n2, 3);&lt;br /&gt;&lt;span&gt;     printf("           76543210\n");&lt;br /&gt;&lt;span&gt;     printf("n2 = %3d = ", n2); printbits(n2); NuevaLinea();&lt;br /&gt;&lt;span&gt;     printf(" y = %3d = ",  y); printbits(y);  NuevaLinea();&lt;br /&gt;&lt;span&gt;     NuevaLinea();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    m2 = m1; n2 = n1;&lt;br /&gt;&lt;span&gt;     printf("Se intercambian los nibbles de %3d. Resultado en x.\n", m2);&lt;br /&gt;&lt;span&gt;     x = change_nibbles(m2);&lt;br /&gt;&lt;span&gt;     printf("           76543210\n");&lt;br /&gt;&lt;span&gt;     printf("m2 = %3d = ", m2); printbits(m2); NuevaLinea();&lt;br /&gt;&lt;span&gt;     printf(" x = %3d = ",  x); printbits(x);  NuevaLinea();&lt;br /&gt;&lt;span&gt;     NuevaLinea();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    printf("Se intercambian los nibbles de %3d. Resultado en y.\n", n2);&lt;br /&gt;&lt;span&gt;     y = change_nibbles(n2);&lt;br /&gt;&lt;span&gt;     printf("           76543210\n");&lt;br /&gt;&lt;span&gt;     printf("n2 = %3d = ", n2); printbits(n2); NuevaLinea();&lt;br /&gt;&lt;span&gt;     printf(" y = %3d = ",  y); printbits(y);  NuevaLinea();&lt;br /&gt;&lt;span&gt;     NuevaLinea();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    m2 = m1; n2 = n1;&lt;br /&gt;&lt;span&gt;     printf("Se obtiene el nibble izquierdo de %3d. Resultado en x.\n", m2);&lt;br /&gt;&lt;span&gt;     x = left_nibble(m2);&lt;br /&gt;&lt;span&gt;     printf("           76543210\n");&lt;br /&gt;&lt;span&gt;     printf("m2 = %3d = ", m2); printbits(m2); NuevaLinea();&lt;br /&gt;&lt;span&gt;     printf(" x = %3d = ",  x); printbits(x);  NuevaLinea();&lt;br /&gt;&lt;span&gt;     NuevaLinea();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;    printf("Se obtiene el nibble derecho de %3d. Resultado en y.\n", n2);&lt;br /&gt;&lt;span&gt;     y = right_nibble(n2);&lt;br /&gt;&lt;span&gt;     printf("           76543210\n");&lt;br /&gt;&lt;span&gt;     printf("n2 = %3d = ", n2); printbits(n2); NuevaLinea();&lt;br /&gt;&lt;span&gt;     printf(" y = %3d = ",  y); printbits(y);  NuevaLinea();&lt;br /&gt;&lt;span&gt;     NuevaLinea();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;getch();&lt;br /&gt;&lt;span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;span&gt;&lt;br /&gt;void NuevaLinea() {&lt;br /&gt;&lt;span&gt;     printf("\n");&lt;br /&gt;&lt;span&gt;}&lt;br /&gt;&lt;br /&gt;Listado 2. bits.cpp&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-9038707280801630126?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/9038707280801630126/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=9038707280801630126' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/9038707280801630126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/9038707280801630126'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2008/02/operadores-lgicos-binarios-segunda.html' title='Operadores Lógicos Binarios – Segunda Parte'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-4853969439191160345</id><published>2008-02-05T00:55:00.006-04:30</published><updated>2008-10-05T10:09:27.192-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lógica'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Operadores Lógicos Binarios – Primera Parte</title><content type='html'>&lt;span&gt;&lt;span&gt;En el siglo XIX el matemático inglés George Boole formuló todo un cuerpo de teoría donde hace una correspondencia entre los valores veritativos de la Lógica Formal, &lt;/span&gt;&lt;em&gt;&lt;span&gt;verdadero&lt;/span&gt;&lt;/em&gt;&lt;span&gt; y &lt;/span&gt;&lt;em&gt;&lt;span&gt;falso&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, con los números 0 y 1 respectivamente, y la cual se conoce hoy como el Álgebra de Boole. En aquella época quizás muchos se preguntarían para qué podría servir semejante conjunto de definiciones, operaciones y leyes basadas sólo en 2 números. Un siglo después Claude Shannon encontró otra correspondencia, esta vez entre el Álgebra de Boole y los conmutadores electrónicos, introduciendo así el concepto de &lt;/span&gt;&lt;em&gt;&lt;span&gt;bit&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, abriendo de esta manera el camino a la aplicación práctica de esta teoría, que se plasmaría en los denominados circuitos lógicos, base de los sistemas de computación modernos. (&lt;/span&gt;&lt;a href="http://webatario.blogspot.com/2007/09/sistema-de-unidades-binarias-primera.html"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/a&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span xmlns=""&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;Casi todos los lenguajes de programación implementan tipos de datos lógicos o &lt;/span&gt;&lt;em&gt;&lt;span&gt;booleanos&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, y sus respectivos operadores, conocidos generalmente por sus nombres en inglés (&lt;/span&gt;&lt;em&gt;&lt;span&gt;and&lt;/span&gt;&lt;/em&gt;&lt;span&gt; para la conjunción, &lt;/span&gt;&lt;em&gt;&lt;span&gt;or&lt;/span&gt;&lt;/em&gt;&lt;span&gt; para la disyunción inclusiva, &lt;/span&gt;&lt;em&gt;&lt;span&gt;xor&lt;/span&gt;&lt;/em&gt;&lt;span&gt; para la disyunción exclusiva y &lt;/span&gt;&lt;em&gt;&lt;span&gt;not&lt;/span&gt;&lt;/em&gt;&lt;span&gt; para la negación. La implicación está implícita en la sentencia condicional &lt;/span&gt;&lt;em&gt;&lt;span&gt;if&lt;/span&gt;&lt;/em&gt;&lt;span&gt;) (&lt;/span&gt;&lt;a href="http://webatario.blogspot.com/2008/02/proposicin-lgica.html"&gt;&lt;span&gt;2&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). Pero también podemos realizar las operaciones lógicas a nivel de los bits de números enteros, a través de los operadores lógicos binarios (&lt;/span&gt;&lt;em&gt;&lt;span&gt;bitwise&lt;/span&gt;&lt;/em&gt;&lt;span&gt;), además de otras como el desplazamiento y la rotación de bits, en lenguajes como C. &lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;Primero veamos los operadores lógicos formales, o sea, aquellos cuyos operandos son expresiones lógicas como las obtenidas mediante los operadores relacionales; recordando además que en el lenguaje C y sus derivados el 0 representa el valor lógico &lt;/span&gt;&lt;em&gt;&lt;span&gt;falso&lt;/span&gt;&lt;/em&gt;&lt;span&gt; y cualquier otro número, generalmente el 1, representa el valor lógico &lt;/span&gt;&lt;em&gt;&lt;span&gt;verdadero&lt;/span&gt;&lt;/em&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;La &lt;strong&gt;conjunción&lt;/strong&gt; se realiza mediante el operador &lt;/span&gt;&lt;strong&gt;&lt;span&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, y como hemos visto, el resultado sólo es verdadero si ambos operadores son verdaderos. Ejemplo:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;em&gt;&lt;span&gt;          int  m = 4, n = 5, p;&lt;br /&gt;&lt;span&gt;&lt;em&gt;&lt;span&gt;           p = (m &amp;gt; 0) &amp;amp;&amp;amp; (n == 5);&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;                        //  ambas operaciones relacionales son verdaderas.&lt;br /&gt;     //  p toma el valor de 1 (verdadero)&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;em&gt;&lt;span&gt;         if ( (m &amp;gt; n) &amp;amp;&amp;amp; (n &amp;gt; 1) )  p = 10;&lt;br /&gt;&lt;span&gt;&lt;em&gt;&lt;span&gt;          else  p = 20;                              &lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;          // p vale 20, ya que (m &amp;gt; n) es falso y, por tanto, la conjunción&lt;br /&gt;    // es falsa&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;La &lt;strong&gt;disyunción inclusiva&lt;/strong&gt; se lleva a cabo con el operador &lt;/span&gt;&lt;strong&gt;&lt;span&gt;||&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, y es falsa solamente si los dos operandos son falsos. Ejemplo:&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;     int  a = 1, b = 2, c = 3;&lt;br /&gt;&lt;span&gt;&lt;span&gt;          if  ( (a &amp;gt; b)  || (c &amp;gt;= a + b) )  c++;&lt;br /&gt;&lt;span&gt;&lt;span&gt;          else  c = 0;             &lt;br /&gt;     //   como (c &amp;gt;= a + b) es verdadera, la disyunción inclusiva&lt;br /&gt;     //  es verdadera, y c se incrementa en 1 (c++)&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;La &lt;strong&gt;negación&lt;/strong&gt; tiene como operador el signo &lt;/span&gt;&lt;strong&gt;&lt;span&gt;!&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; e invierte el valor de su único operando lógico. Ejemplo:&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;     int  x = 3, y;&lt;br /&gt;     i&lt;span&gt;&lt;span&gt;f  (!x)  y = 100;&lt;br /&gt;     e&lt;span&gt;&lt;span&gt;lse  y = 10;            &lt;br /&gt;     // como x es distinto de 0, o sea, verdadero, al negarlo con ! se&lt;br /&gt;     // convierte en falso. La variable y vale 10&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;En cuanto a los operadores lógicos binarios, en C/C++ tenemos los siguientes:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;Conjunción Binaria&lt;/strong&gt;: &lt;/span&gt;&lt;strong&gt;&lt;span&gt;&amp;amp;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Sean m = 59 (00111011&lt;/span&gt;&lt;sub&gt;&lt;span&gt;2&lt;/span&gt;&lt;/sub&gt;&lt;span&gt;)  y  n = 172 (10101100&lt;/span&gt;&lt;sub&gt;&lt;span&gt;2&lt;/span&gt;&lt;/sub&gt;&lt;span&gt;), entonces m &amp;amp; n será:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span xmlns=""&gt;&lt;div align="center"&gt;&lt;div align="left"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/R6f1wyzmdkI/AAAAAAAAAK8/5_QQz_lN85E/s400/Conjuncion+Binaria.jpg" alt="" id="BLOGGER_PHOTO_ID_5163365716424291906" border="0" /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;strong&gt;Disyunción Inclusiva Binaria&lt;/strong&gt;: &lt;strong&gt;|&lt;/strong&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;Sean m = 59 (00111011&lt;/span&gt;&lt;sub&gt;&lt;span&gt;2&lt;/span&gt;&lt;/sub&gt;&lt;span&gt;)  y  n = 172 (10101100&lt;/span&gt;&lt;sub&gt;&lt;span&gt;2&lt;/span&gt;&lt;/sub&gt;&lt;span&gt;), entonces m | n será:&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div align="left"&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/R6f2SCzmdlI/AAAAAAAAALE/qfuTdlLHKBE/s400/Disyuncion+Inclusiva+Binaria.jpg" alt="" id="BLOGGER_PHOTO_ID_5163366287654942290" border="0" /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;Disyunción Exclusiva Binaria&lt;/strong&gt;: &lt;/span&gt;&lt;strong&gt;&lt;span&gt;^&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;:&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Sean m = 59 (00111011&lt;/span&gt;&lt;sub&gt;&lt;span&gt;2&lt;/span&gt;&lt;/sub&gt;&lt;span&gt;)  y  n = 172 (10101100&lt;/span&gt;&lt;sub&gt;&lt;span&gt;2&lt;/span&gt;&lt;/sub&gt;&lt;span&gt;), entonces m ^ n será:&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/R6f2oCzmdmI/AAAAAAAAALM/WhOM73gu4uY/s400/Disyuncion+Exclusiva+Binaria.jpg" alt="" id="BLOGGER_PHOTO_ID_5163366665612064354" border="0" /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Negación Binaria &lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Conocida también como &lt;/span&gt;&lt;em&gt;&lt;span&gt;complemento a 1)&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;: &lt;/span&gt;&lt;strong&gt;&lt;span&gt;~&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Sea m = 59 (00111011&lt;/span&gt;&lt;sub&gt;&lt;span&gt;2&lt;/span&gt;&lt;/sub&gt;&lt;span&gt;), entonces ~n será:&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;img src="http://2.bp.blogspot.com/_vTprQ5YcFi4/R6f2-izmdnI/AAAAAAAAALU/rG7rVLdulSQ/s400/Negaci%C3%B3n+Binaria.jpg" alt="" id="BLOGGER_PHOTO_ID_5163367052159121010" border="0" /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Si observamos el valor resultante, comprobamos que se trata del número 196 en decimal, el cual sumado al operando original, o sea el 59, nos da 255, lo que es lo mismo que 2&lt;/span&gt;&lt;sup&gt;&lt;span&gt;8&lt;/span&gt;&lt;/sup&gt;&lt;span&gt; - 1. En general, el complemento a 1 de un número m de n bits será: ~m = 2&lt;/span&gt;&lt;sup&gt;&lt;span&gt;n&lt;/span&gt;&lt;/sup&gt;&lt;span&gt; - m - 1. Si se elimina el -1, hablaríamos del complemento a 2; por lo tanto, el complemento a 2 de un número m es: ~m + 1, que es utilizado para representar números enteros negativos en la computadora.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Las operaciones de desplazamiento de bits permiten justamente eso, mover los bits de un byte, bien sea a la derecha o a la izquierda. Son de mucha utilidad en diversas situaciones, incluso para realizar operaciones aritméticas. Veamos su implementación en el lenguaje C:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;Desplazamiento a la Izquierda&lt;/strong&gt;: &lt;/span&gt;&lt;strong&gt;&lt;span&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. &lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Sea  m = 59 (00111011&lt;/span&gt;&lt;sub&gt;&lt;span&gt;2&lt;/span&gt;&lt;/sub&gt;&lt;span&gt;), entonces n &amp;gt;&amp;gt; 2 será:&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://1.bp.blogspot.com/_vTprQ5YcFi4/R6f38SzmdoI/AAAAAAAAALc/cmZS4j5PVHI/s400/Desplazamiento+a+la+izquierda.jpg" alt="" id="BLOGGER_PHOTO_ID_5163368113016043138" border="0" /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Obsérvese que los bits del número se desplazan 2 espacios a la izquierda, rellenando con 0 los bits menos significativos (los de la derecha). En este caso, si desplazamos más de 2 bits a la izquierda, se perderían bits, lo que se conoce como acarreo. En cuanto al valor resultante, vemos que se trata de 236, o sea, 59 * 4; en general, el desplazamiento a la izquierda de n bits de un número m es igual a:    m &amp;lt;&amp;lt; n = m * 2&lt;/span&gt;&lt;sup&gt;&lt;span&gt;n&lt;/span&gt;&lt;/sup&gt;&lt;span&gt;, siempre y cuando no haya pérdida de bits (acarreo).&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;Desplazamiento a la Derecha&lt;/strong&gt;: &lt;/span&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;. &lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Sea  n = 172 (10101100&lt;/span&gt;&lt;sub&gt;&lt;span&gt;2&lt;/span&gt;&lt;/sub&gt;&lt;span&gt;), entonces n &amp;gt;&amp;gt; 2 será:&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;img src="http://2.bp.blogspot.com/_vTprQ5YcFi4/R6f4XizmdpI/AAAAAAAAALk/rYsR5h6DLKU/s400/Desplazamiento+a+la+derecha.jpg" alt="" id="BLOGGER_PHOTO_ID_5163368581167478418" border="0" /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Aquí los bits del número se desplazan 2 espacios a la derecha, rellenando con 0 los bits más significativos (los de la izquierda). Igualmente, si desplazamos más de 2 bits se perderían bits. El resultado es 43, es decir, 172 / 4; en general, el desplazamiento a la derecha de n bits de un número m es igual a:    m &amp;gt;&amp;gt; n = m / 2&lt;/span&gt;&lt;sup&gt;&lt;span&gt;n&lt;/span&gt;&lt;/sup&gt;&lt;span&gt;, siempre y cuando no haya pérdida de bits (acarreo).&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-4853969439191160345?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/4853969439191160345/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=4853969439191160345' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/4853969439191160345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/4853969439191160345'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2008/02/operadores-lgicos-binarios-primera.html' title='Operadores Lógicos Binarios – Primera Parte'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vTprQ5YcFi4/R6f1wyzmdkI/AAAAAAAAAK8/5_QQz_lN85E/s72-c/Conjuncion+Binaria.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-6293584429685429579</id><published>2008-02-03T15:19:00.009-04:30</published><updated>2008-04-29T10:42:19.036-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lógica'/><title type='text'>Proposición Lógica</title><content type='html'>&lt;div align="justify"&gt;&lt;span&gt;&lt;strong&gt;Definición&lt;/strong&gt;. Una &lt;strong&gt;proposición&lt;/strong&gt; es una oración con valor referencial o informativo, de la cual se puede predicar su veracidad o falsedad, es decir, que puede ser falsa o verdadera pero no ambas a la vez.&lt;br /&gt;&lt;/span&gt;&lt;span xmlns=""&gt;&lt;p align="justify"&gt;&lt;span&gt;La proposición es la expresión lingüística del razonamiento, que se caracteriza por ser verdadera o falsa empíricamente, sin ambigüedades. Son proposiciones las oraciones aseverativas, las leyes científicas, las fórmulas matemáticas, las fórmulas y/o esquemas lógicos, los enunciados cerrados o claramente definidos. No son proposiciones las opiniones y suposiciones; los proverbios, modismos y refranes; los enunciados abiertos no definidos; las oraciones interrogativas, exclamativas, imperativas, desiderativas y dubitativas; las interjecciones en general; ni las operaciones aritméticas.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;El valor de verdad de una proposición depende no solamente de las relaciones entre las palabras del lenguaje y los objetos en el mundo, sino también del estado del mundo y del conocimiento acerca de ese estado. El valor de verdad de la oración &lt;em&gt;Juan canta&lt;/em&gt; depende no solamente de la persona denotada en &lt;em&gt;Juan&lt;/em&gt; y el significado del verbo &lt;em&gt;cantar&lt;/em&gt;, sino también del momento cuando esta oración es expresada. Juan probablemente canta ahora, pero ciertamente que no siempre está cantando.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;De la misma manera, debemos hacer una distinción entre la oración gramatical propiamente dicha, a la que llamaremos &lt;strong&gt;enunciado&lt;/strong&gt;, y el contenido o significado del enunciado, que es la &lt;strong&gt;proposición&lt;/strong&gt;. Así los siguientes enunciados representan en realidad a la misma proposición:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;En Maracaibo hace mucho calor&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;Maracaibo es una ciudad muy calurosa&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;La temperatura media de Maracaibo es bastante alta&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;El clima de Maracaibo es cálido&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;Maracaibo is a hot city&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Las siguientes expresiones son ejemplos de proposiciones:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;Bolívar libertó a Venezuela&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;El hierro es un mineral&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;Einstein fue un  físico teórico&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;36 + 63 = 99&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;La palabra "esdrújula" es esdrújula&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;Los siguientes son ejemplos de expresiones las cuales no son proposiciones&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;El hombre más fuerte del mundo&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;El director del periódico&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;¡Quién se ganara el Kino!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;13 + 7&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;¡Tú te callas!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;X obtuvo el Premio Nobel en 1970&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;¿Cuánto cuesta ese reloj?&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;&lt;span&gt;Las proposiciones se representan por letras minúsculas: p, q, r, s, t, u, etc. Por ejemplo, sea la proposición q igual a &lt;em&gt;34 + 56 = 90&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;&lt;br /&gt;CLASIFICACION&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;Proposiciones Simples o Atómicas&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;Son aquellas que carecen totalmente de conectivos lógicos y que, por lo tanto, son inseparables. En este grupo se encuentran las proposiciones &lt;strong&gt;predicativas&lt;/strong&gt;, que son aquellas en la cual se afirma o atribuye una característica respecto de un objeto, como por ejemplo,  &lt;em&gt;&lt;span&gt;Juan Pérez&lt;/span&gt; es profesor&lt;/em&gt;; y las proposiciones &lt;strong&gt;relacionales&lt;/strong&gt;, en las cuales existe una relación de dependencia, estableciendo un enlace entre dos o más objetos, como por ejemplo, &lt;em&gt;&lt;span&gt;Caracas&lt;/span&gt; es la capital de &lt;span&gt;Venezuela&lt;/span&gt;.&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;Proposición Compuesta o Molecular&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;&lt;span&gt;Son aquellas que resultan de la combinación de varias proposiciones simples, unidas por uno o más conectivos lógicos y que pueden ser separadas y descompuestas en proposiciones más simples. S&lt;/span&gt;u valor de verdad depende del de las proposiciones que la componen.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;&lt;br /&gt;CONECTIVOS LÓGICOS&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;NEGACION&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/SBc1vCEePdI/AAAAAAAAAPg/w1NkD3b1RXE/s400/Definición+Negación.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5194679777320910290" /&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/R6YuCSzmdJI/AAAAAAAAAHk/GUbL5lUYMF4/s400/Negación.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5162864639769736338" /&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Tabla de Verdad de la Negación&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt; &lt;br /&gt;&lt;span&gt;&lt;strong&gt;CONJUNCIÓN&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://2.bp.blogspot.com/_vTprQ5YcFi4/SBc2SiEePeI/AAAAAAAAAPo/wf3egd9_u48/s400/Definición+Conjunción.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5194680387206266338" /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;img src="http://2.bp.blogspot.com/_vTprQ5YcFi4/R6YuiyzmdLI/AAAAAAAAAH0/BIjALRBZTTs/s400/Conjuncion.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5162865198115484850" /&gt;&lt;/div&gt;&lt;div align="center"&gt; &lt;span&gt;Tabla de Verdad de la Conjunción&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;span&gt;&lt;strong&gt;DISYUNCION INCLUSIVA&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;img src="http://2.bp.blogspot.com/_vTprQ5YcFi4/SBc4uiEePfI/AAAAAAAAAPw/UfxX_H3rRrI/s400/Definición+Disyunción+Inclusiva.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5194683067265859058" /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;img src="http://1.bp.blogspot.com/_vTprQ5YcFi4/R6Yv8izmdOI/AAAAAAAAAIM/Mjjjx7NbzLk/s400/Disyuncion+Inclusiva.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5162866740008744162" /&gt;&lt;/div&gt; &lt;span&gt;Tabla de Verdad de la Disyunción Inclusiva&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;span&gt;&lt;strong&gt;DISYUNCION EXCLUSIVA&lt;br /&gt;&lt;/strong&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/SBc44CEePgI/AAAAAAAAAP4/4fMeTIR4ZuA/s400/Definición+Disyunción+Exclusiva.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5194683230474616322" /&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div align="center"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/R6Yy7CzmdUI/AAAAAAAAAI8/6c8X1VWUnoU/s400/Disyuncion+Exclusiva.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5162870012773823810" /&gt;&lt;span&gt;&lt;br /&gt;&lt;div align="center"&gt;Tabla de Verdad de la Disyunción Exclusiva&lt;br /&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span&gt;&lt;strong&gt;IMPLICACIÓN&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="left"&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/SBc5CCEePhI/AAAAAAAAAQA/3XSS1O63e7M/s400/Definición+Implicación.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5194683402273308178" /&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/R6Yx-SzmdTI/AAAAAAAAAI0/hWnHalbha50/s400/Implicacion.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5162868969096770866" /&gt;&lt;/div&gt;&lt;span&gt;Tabla de Verdad de la Implicación&lt;br /&gt;&lt;/span&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span&gt;&lt;strong&gt;EQUIVALENCIA&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="left"&gt;&lt;img src="http://2.bp.blogspot.com/_vTprQ5YcFi4/SBc5PiEePiI/AAAAAAAAAQI/cgJdaGjEppk/s400/Definición+Equivalencia.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5194683634201542178" /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;div align="center"&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/R6Y1XSzmdZI/AAAAAAAAAJk/L7od-8ZYzoY/s400/Equivalencia.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5162872697128383890" /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Tabla de Verdad de la Equivalencia&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-6293584429685429579?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/6293584429685429579/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=6293584429685429579' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/6293584429685429579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/6293584429685429579'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2008/02/proposicin-lgica.html' title='Proposición Lógica'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vTprQ5YcFi4/SBc1vCEePdI/AAAAAAAAAPg/w1NkD3b1RXE/s72-c/Definición+Negación.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-4583362388879700640</id><published>2007-11-04T15:32:00.002-04:00</published><updated>2008-04-29T10:46:06.507-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Estándares'/><title type='text'>Ordenador o Computadora</title><content type='html'>&lt;span xmlns=""&gt;&lt;p align="justify"&gt;&lt;span&gt;Los hispanohablantes del lado americano del Atlántico sentimos, en general, una gran molestia o simplemente extrañeza, al ver u oír la palabra &lt;em&gt;ordenador&lt;/em&gt; para referirse a esa omnipresente máquina que todos por aquí llamamos &lt;em&gt;computadora,&lt;/em&gt; o &lt;em&gt;computador&lt;/em&gt; en algunos casos. El porqué de esta diferencia es el tema que trataremos de seguidas, basados principalmente en un artículo de profesor de la Universidad Complutense de Madrid Antonio Vaquero Sánchez&lt;sup&gt;1&lt;/sup&gt;, y un pequeño libro escrito por el francés Claude Bellavoine&lt;sup&gt;2&lt;/sup&gt; a finales de los años 60's.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;Pensamos que las diferencias para denominar diversos objetos de uso diario entre las numerosas regiones que tienen el idioma español o castellano como medio de comunicación oral y escrita no constituyen en sí mismo ninguna anomalía, y no se pueden considerar como peligrosas para la conservación y buen uso del mismo. Así tenemos que en algunos países se usa &lt;em&gt;cacerola&lt;/em&gt; para referirse a los objetos que en otros sitios se denominan &lt;em&gt;ollas&lt;/em&gt;, y lo mismo ocurre con &lt;em&gt;carro&lt;/em&gt; y &lt;em&gt;coche&lt;/em&gt;. Igualmente pasa con los nombres de animales y vegetales, como en el caso de &lt;em&gt;gambas &lt;/em&gt;y &lt;em&gt;camarones&lt;/em&gt;, &lt;em&gt;aguacate&lt;/em&gt; y &lt;em&gt;palta&lt;/em&gt;, &lt;em&gt;piña&lt;/em&gt; y &lt;em&gt;ananás&lt;/em&gt;, &lt;em&gt;merey&lt;/em&gt; y &lt;em&gt;marañón&lt;/em&gt;, etc.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;div align="justify"&gt;&lt;span&gt;En el caso de la terminología científica y tecnológica, sin embargo, este asunto debe ser tratado con mayor rigor, ya que cualquier documento que tenga la pretensión de ser difundido en los ambientes académicos, gubernamentales y de organizaciones internacionales debe ser manejado con un léxico normalizado bien preciso y coherente. Para esto deben tomarse en consideración el origen, la amplitud o universo de uso, y la precisión de cada término referido a algún concepto u objeto de carácter científico y tecnológico. Para corroborar la importancia de este planteamiento nos podemos remitir al conocido portal web &lt;em&gt;Wikipedia.org&lt;/em&gt; en su versión en español, el cual a través de un &lt;em&gt;wikiproyecto&lt;/em&gt; denominado &lt;strong&gt;&lt;em&gt;Terminología Informática, &lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;en el cual intervinieron muchos de sus colaboradores de ambos lados del Atlántico, estableció una normativa para la nomenclatura de los términos técnicos a utilizarse en sus artículos con la temática informática&lt;sup&gt;3&lt;/sup&gt;. (A propósito, nuestro próximo artículo se refiere al uso de las palabras Informática y Computación).&lt;/span&gt;&lt;span&gt;&lt;strong&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;span&gt;Comencemos entonces con fragmentos del artículo del profesor Vaquero Sánchez titulado "&lt;em&gt;Uso de la palabra Ordenador&lt;/em&gt;":&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt; "(…) En España el término &lt;em&gt;ordenador&lt;/em&gt; está muy extendido para designar a &lt;em&gt;la máquina&lt;/em&gt; por excelencia de la Informática. Hay una minoría, en general universitaria, que usa indistintamente los términos &lt;em&gt;computadora&lt;/em&gt; (o &lt;em&gt;computador&lt;/em&gt;) y &lt;em&gt;ordenador&lt;/em&gt;. Mucho menos somos los que sólo usamos el término &lt;em&gt;computadora&lt;/em&gt;. Pero solamente en España se usa la palabra &lt;em&gt;ordenador&lt;/em&gt;, que es absolutamente desconocida en América. La comunidad americana de habla española sólo usa la palabra &lt;em&gt;computador&lt;/em&gt; y también &lt;em&gt;computadora&lt;/em&gt;, aunque esta última en menor medida.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;"(…) Antes que &lt;em&gt;ordenador&lt;/em&gt;, en España se usó la palabra &lt;em&gt;calculadora&lt;/em&gt;. &lt;em&gt;Calculator&lt;/em&gt; aparece antes que &lt;em&gt;computer&lt;/em&gt; en la literatura germinal de las computadoras. Así, la máquina desarrollada en 1944, bajo la dirección del Profesor Aiken en la Universidad de Harvard, era referida como Mark I o &lt;em&gt;Automatic Sequence Calculator&lt;/em&gt;. El profesor García Santesmases pasó un tiempo trabajando con el grupo de las Marks. Por él se introdujo en nuestro país la palabra &lt;em&gt;calculadora&lt;/em&gt;, para designar lo que mucho después se llamaría &lt;em&gt;ordenador&lt;/em&gt;. &lt;em&gt;Calculadora&lt;/em&gt; fue pues el primer término con que se conocieron estas máquinas en España, término que se usó extensamente en la década de los 60, como se comprueba más adelante, e incluso llega a la de los 70. Desde entonces se aplica sólo a las máquinas de mano con teclas numéricas y funcionales.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;"Vamos a rastrear ahora el origen de la palabra &lt;em&gt;ordenador&lt;/em&gt;. Trasladémonos a Francia. Hacia 1962 aparecen dos palabras nuevas en los ambientes universitarios franceses: &lt;em&gt;Informatique&lt;/em&gt; y &lt;em&gt;Ordinateur&lt;/em&gt;. Ambas tienen una rápida difusión y aceptación en el país vecino. Por ejemplo en 1963 ya existía en la Facultad de Ciencias de la Universidad de Toulouse un &lt;em&gt;Laboratoire d'Informatique&lt;/em&gt;. En España se adoptó rápidamente la palabra &lt;em&gt;Informática&lt;/em&gt;, pero esa rapidez no se dio con la palabra &lt;em&gt;ordenador&lt;/em&gt;. Prueba de ello es la traducción del libro &lt;em&gt;Vocabulary of Infomation Processing&lt;/em&gt;,  (…) &lt;em&gt;computer&lt;/em&gt; se tradujo por &lt;em&gt;calculadora&lt;/em&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;"La palabra &lt;em&gt;ordenador&lt;/em&gt; aparece escrita por primera vez en un diccionario de Informática en español en 1972. Es el &lt;em&gt;Diccionario-Glosario de Proceso de Datos Inglés-Español, IBM, 1972&lt;/em&gt;. La adopción del galicismo tiene un éxito fulgurante, directamente proporcional al crecimiento de usuarios de Informática, influidos por los profesionales comerciales. El origen ya lo conocemos. Ahora bien, vamos al fondo. ¿Qué significa &lt;em&gt;ordinateur&lt;/em&gt;? No se debe entrar al trapo de los que defienden el uso de la palabra &lt;em&gt;ordenador&lt;/em&gt; porque éste realiza &lt;em&gt;ordenaciones&lt;/em&gt; (operaciones de ordenación). Puede hacer más, muchísimo más, que ordenar elementos ordenables. Admitir esa denominación por esa causa sería como admitir la designación del todo por una parte solamente.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;"Tampoco es válido el argumento basado en la acepción de &lt;em&gt;orden&lt;/em&gt; como &lt;em&gt;instrucción&lt;/em&gt;. &lt;em&gt;Ordinateur&lt;/em&gt; viene definido en francés así "&lt;em&gt;... qui émite ordres&lt;/em&gt;". En definitiva, quien &lt;strong&gt;da órdenes&lt;/strong&gt;, no quien &lt;strong&gt;las recibe&lt;/strong&gt;. Por tanto, el uso de la palabra &lt;em&gt;ordenador&lt;/em&gt; es una incorrección semántica. (…) Lo dicen los propios franceses. Los mismos que contribuyeron a la creación, difusión y aceptación del término.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;"¿Qué hacemos aquí sobre la utilización de los diversos términos? (…) Los hispanoparlantes de otros continentes (…) siempre usan &lt;em&gt;computador/a&lt;/em&gt;. Y no van a cambiar. Tienen la razón de la fuerza numérica, pues son casi 10 veces más que nosotros. Y nosotros, los españoles, carecemos de argumentos lingüísticos sólidos para convencerles. ¿Qué podemos hacer aquí? Sería más lógico que, si hay que hacer algún cambio, lo hiciésemos nosotros. Deberíamos hacerlo en aras de la cohesión de nuestra lengua. (…) En cuanto al género, éste carece de importancia. Un &lt;em&gt;computador&lt;/em&gt; (masculino) es un &lt;strong&gt;sistema&lt;/strong&gt; (masculino) y una &lt;em&gt;computadora&lt;/em&gt; (femenino) es una &lt;strong&gt;máquina&lt;/strong&gt; (femenino). Pero es curioso que sólo se diga &lt;em&gt;ordenador&lt;/em&gt; y no &lt;em&gt;ordenadora&lt;/em&gt;. Esta curiosidad queda para los estudiosos de los fenómenos sociolingüísticos."&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;Ahora bien, ¿por qué los franceses utilizan el término &lt;em&gt;ordenador&lt;/em&gt; (&lt;em&gt;ordinateur&lt;/em&gt;)? La respuesta la hallamos en el libro de Bellavoine y es a mi parecer francamente absurda. Veamos entonces el origen de la palabra ordenador (Las negritas y cursivas son nuestras):&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;"En 1954, la Compañía IBM de Francia tropezó con el problema de traducir la denominación "&lt;em&gt;Electronic Data Processing Machine&lt;/em&gt;" (EDPM). (…) No quería usar el término "&lt;em&gt;Computadora&lt;/em&gt;", aunque los primeros trabajos eran sobre todo de índole científica, porque esa palabra hubiera limitado las posibilidades de utilización y, por consiguiente, de venta de esa máquina y no expresaba en forma adecuada la innovación técnica. La expresión &lt;em&gt;"Machines électroniques a données processionnelles" &lt;/em&gt;("Máquinas Electrónicas procesadoras de datos"), en la que se había pensado por un momento, sonaba extraña. En efecto, más tarde, la palabra inglesa &lt;em&gt;"data" &lt;/em&gt;se tradujo por "&lt;em&gt;datos&lt;/em&gt;" y luego por "&lt;em&gt;información&lt;/em&gt;", mientras que &lt;em&gt;"Processing" &lt;/em&gt;se convirtió en "&lt;em&gt;procesamiento&lt;/em&gt;" y también en "&lt;em&gt;tratamiento&lt;/em&gt;"; esto dio lugar a nuestra definición. Los estadounidenses, a su vez, inventaron un término más sencillo, el de &lt;em&gt;computadora.&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;La IBM de Francia se dirigió entonces al profesor &lt;strong&gt;Jacques Perret&lt;/strong&gt;, de la Facultad de Letras de París, y éste propuso que se volviera a introducir una palabra &lt;em&gt;teológica&lt;/em&gt;, &lt;strong&gt;¡caída en desuso desde hacía 600 años¡&lt;/strong&gt;, la palabra "&lt;em&gt;Ordenador&lt;/em&gt;". Dios era el gran &lt;em&gt;Ordenador del Universo&lt;/em&gt;, es decir, el que ordena las cosas de acuerdo con un plan. Modestamente, el término se juzgaba digno de las nuevas máquinas cuyo porvenir se vislumbraba. La definición se aplicó, pues, a las nuevas EDPM, capaces de ordenar informaciones dispersas en función de un objetivo preciso."&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Como diría un francés: &lt;em&gt;"Mon Dieu!"&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;En un foro&lt;sup&gt;4&lt;/sup&gt; sobre el tema un ingeniero de sistemas español, cuyo nombre lamentablemente no aparece, dijo lo siguiente:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;"(…) Efectivamente, el desafortunado término de "ordenador" (copiado sin criterio de los franceses) se usó por primera vez en España a principios de los 70, pero no fue sino hasta los 80 que se popularizó, con las PCs. Hasta ese momento todos decíamos "Computadora". (…) La carrera que yo estudié se llamaba oficialmente en casi todas la Universidades españolas "&lt;em&gt;Ciencias de la Computación&lt;/em&gt;", y ese nombre aún estaba en uso hasta no hace tanto en varias universidades.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;(…) Este es un término que nos viene del latín, y su raíz está en nuestro vocabulario desde hace siglos. Las Computadoras, es decir las máquinas de cómputo, no hacen muchas cosas; &lt;strong&gt;sólo hacen una cosa: computar ceros y unos&lt;/strong&gt;.  (…) En definitiva, la Academia de la Lengua en España, tradicionalmente compuesta por personas muy influidas por la cultura francesa y en aquellos años con escasísimos conocimientos técnicos, optaron acríticamente por separarse de lo que era una práctica extendida y natural en nuestro idioma, decir "Computadora". Aún conservo mis primeros libros editados e impresos en España donde sólo se usaba ese término."&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span&gt;Efectivamente, creo que la clave de todo este asunto es que hablamos de una máquina (o sistema) que es capaz de procesar muchísimos tipos de datos, como números, textos, gráficos, fotografías y videos, entre otros, pero a la larga todo su trabajo se reduce a &lt;strong&gt;computar ceros y unos&lt;/strong&gt;, como dice nuestro anónimo amigo español. Así se trate de un video-juego, una aplicación ofimática, un navegador de Internet, lo que sea que se ejecute en una &lt;strong&gt;computadora&lt;/strong&gt; será &lt;strong&gt;computable&lt;/strong&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;&lt;a href="http://www.elmundo.es/su-ordenador/SORnumeros/97/SOR066/SOR066tribuna.html"&gt;&lt;span&gt;www.elmundo.es/su-ordenador/SORnumeros/97/SOR066/SOR066tribuna.html&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span&gt;Claude Bellavoine.- &lt;span&gt;&lt;em&gt;¿Qué es una Computadora?&lt;/em&gt;&lt;/span&gt; Editorial El Ateneo. Buenos Aires. 1973. Traducción de la obra en francés &lt;em&gt;Qu'est-ce qu'un ordinateur?&lt;/em&gt;. 1969.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;(&lt;a href="http://es.wikipedia.org/wiki/Wikiproyecto:Terminología_Informática"&gt;http://es.wikipedia.org/wiki/Wikiproyecto:Terminología_Informática&lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;http://86400.es/2007/04/17/¿-ordenador-o-computador-la-cohesion-del-lenguaje/&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-4583362388879700640?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/4583362388879700640/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=4583362388879700640' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/4583362388879700640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/4583362388879700640'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2007/11/ordenador-o-computadora.html' title='Ordenador o Computadora'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-6157726126517082203</id><published>2007-10-18T00:48:00.001-04:00</published><updated>2007-12-16T20:09:51.951-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Biografías'/><title type='text'>Charles Babbage – Padre de la Computación</title><content type='html'>&lt;div align="justify"&gt;&lt;div align="justify"&gt;&lt;span&gt;Aunque pudiéramos considerar a la computadora el invento más característico de nuestro tiempo, sus antecedentes se remontan a más de 150 años cuando un matemático inglés diseñó y construyó una máquina que por su estructura y las funciones que debía desarrollar constituye, sin dudas, el primer prototipo de computadora jamás construido.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span xmlns=""&gt;&lt;p&gt;&lt;span&gt;Charles Babbage, nacido el 26 de diciembre de 1791 en Devonshire, Inglaterra, fue uno de los dos niños sobrevivientes de Benjamín Babbage, banquero, y Beatriz Plumleigh Teapen. Siendo un niño débil y enfermizo, el pequeño Charles padeció de una severa fiebre, que hizo que sus padres temieran por su vida y, buscando su recuperación, decidieron enviarlo a Teignmouth por un tiempo, lo que ha ocasionado confusiones sobre su lugar de nacimiento en algunos de sus biógrafos.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;En octubre de 1810 Babbage ingresó al &lt;em&gt;Trinity College&lt;/em&gt; en Cambridge donde estudió matemáticas y química. Obtuvo su licenciatura en matemáticas en 1814, graduándose como el primero en su clase, y posteriormente ingresó a la maestría en matemáticas a Cambridge, de donde se graduó en 1817. En 1816 fue elegido miembro de la &lt;em&gt;Royal Society&lt;/em&gt; donde jugó un papel preponderante en la fundación de la &lt;em&gt;Sociedad Astronómica Real&lt;/em&gt; en 1820, y ya en 1828 ingresó en su universidad como profesor de Matemáticas.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div align="center"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/RxdVm6U-JUI/AAAAAAAAAGk/UqikjG9slwM/s400/Charles+Babbage.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5122657228137833794" /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;Se dice que durante sus años universitarios, Babbage se mostró un tanto decepcionado al descubrir que las matemáticas de Newton, que había muerto 200 años antes, seguían vigentes en Cambridge, sin mayor evolución, e ignorando todos los avances que se habían dado en diversas partes del mundo. Babbage se convenció de que sus conocimientos de matemáticas eran superiores a los de sus maestros, y decidió fundar la &lt;em&gt;Sociedad Analítica&lt;/em&gt;, junto con H.F.W. Herschel y George Peacock, con el propósito de renovar la enseñanza de las matemáticas en Inglaterra. Fue precisamente durante una de las reuniones de la Sociedad Analítica en la que se cuenta que Babbage estaba distraído contemplando una tabla de logaritmos que se encontraba frente a él y alguien se le acercó a preguntarle: "&lt;em&gt;Bien, Babbage, ¿en qué sueñas?&lt;/em&gt;", a lo que él respondió, mientras señalaba la tabla: "&lt;em&gt;Creo que todas estas tablas podrían ser calculadas por una máquina&lt;/em&gt;". Babbage había constatado que muchos de los cálculos consistían en operaciones que había que repetir de manera regular, y desde este punto de vista especuló que debería ser posible diseñar una máquina calculadora que pudiera hacer estas operaciones de forma automática.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;La carrera de Babbage como inventor y como autor fue muy prolífica. Dentro de sus inventos más destacados se encuentra el dinamómetro, las tarifas postales uniformes, los atrapa-vacas motorizados, las luces ocultas de los faros, el oftalmoscopio heliográfico y el velocímetro. Además, calculó las primeras tablas de mortalidad confiables, utilizadas todavía por las compañías de seguros. Asimismo, se le considera uno de los pioneros de la investigación de operaciones. Publicó alrededor de 80 libros y artículos en áreas que van desde las matemáticas hasta la teología, astronomía y política.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;La Máquina Diferencial&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Babbage tenía un gran interés por las máquinas calculadoras, y estudió la posibilidad de construir una máquina capaz de calcular con exactitud. En 1822 construyó la primera de sus máquinas, que podía sumar números hasta de seis cifras. Animado por el éxito continuó sus estudios y, en 1823, diseñó una máquina más elaborada a la que llamó "&lt;em&gt;Máquina Diferencial&lt;/em&gt;", que debía estar provista de una impresora. Pero para fabricar el primer modelo necesitaba dinero (1,500 libras esterlinas) que le fue proporcionado por el gobierno, comprometiéndose Babbage a entregar la máquina en dos años. Sin embargo, la construcción avanzaba muy lentamente y, al cumplirse el plazo en 1827, la máquina aún no estaba terminada.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;La Máquina Diferencial era capaz de calcular los logaritmos de 1 a 108.000 con notable precisión e imprimirlos, y formuló los fundamentos teóricos de cualquier autómata de cálculo. Por entonces Babbage ya conocía los sistemas decimales de conteo, y estaba familiarizado con la descomposición de complejas operaciones matemáticas en secuencias sencillas. La presentó en la &lt;em&gt;Real Sociedad Astronómica&lt;/em&gt; de Londres, recibiendo por ella la &lt;em&gt;Medalla de Oro&lt;/em&gt; de dicha sociedad. Fue entonces cuando obtuvo una subvención para diseñar y construir una máquina en diferencias más grande. Babbage esperaba terminarla en 3 años pero la construcción se alargó&lt;br /&gt;en el tiempo. En 1834 se paró su construcción.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;La Máquina Analítica&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;Su trabajo con la máquina diferencial lo llevó a nuevas ideas, y así en 1834 ya tenía realizados los primeros bocetos de la M&lt;strong&gt;áquina Analítica&lt;/strong&gt;, que nunca llegó a construirse pero su diseño sentó las bases de la computadora actual. Pretendía que fuese capaz de realizar cualquier secuencia de instrucciones aritméticas. Para esta realización contó con fondos del gobierno inglés y con la colaboración de la que está considerada como la primera programadora de la historia, &lt;strong&gt;Ada Lovelace&lt;/strong&gt;, hija del poeta Lord Byron. El objetivo de la Máquina Analítica era ser una calculadora de propósito general, controlada por una secuencia de instrucciones, con una unidad de proceso, una memoria central, unidades de entrada y salida de datos (¿les suena conocido?), y la posibilidad de controlar paso a paso las instrucciones, es decir, lo que hoy conocemos como &lt;em&gt;programa&lt;/em&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;div align="center"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/RxdWL6U-JVI/AAAAAAAAAGs/gD2dGA4Febc/s400/Máquina+Analítica.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5122657863792993618" /&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;Esta máquina poseía la mayoría de las características de la computadora moderna. Babbage deseaba que fuera capaz de ejecutar cualquier operación matemática basándose en la alimentación de información por medio de tarjetas perforadas. La máquina de Babbage debería ser capaz de responder con rapidez y exactitud, y proporcionar la solución de los más complejos problemas matemáticos y algebraicos. Además de ese banco de información, la máquina poseía muchas de las características de una moderna computadora: estaba provista de memoria y podía comparar resultados, imprimía las respuestas, procesaba los datos y ¡modificaba su propio programa!&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;En esencia era una computadora de propósitos generales. La máquina analítica de Babbage podía sumar, restar, multiplicar y dividir en secuencia automática a una velocidad de 60 sumas por minuto, y su diseño requería miles de engranes y mecanismos. Los escépticos le pusieron el sobrenombre de "&lt;em&gt;la locura de Babbage&lt;/em&gt;".&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;Los trazos detallados de Babbage describían las características incorporadas ahora en la moderna computadora electrónica. Si Babbage hubiera vivido en la era de la tecnología electrónica y las partes de precisión, hubiera adelantado el nacimiento de la computadora electrónica en casi un siglo. Irónicamente, su obra se olvidó a tal grado, que algunos pioneros en el desarrollo de la computadora electrónica ignoraron por completo sus conceptos sobre memoria, impresoras, tarjetas perforadas y control de programa secuencial.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;Ada Lovelace ayudó a Babbage económicamente y escribió artículos y programas para la referida máquina, algunos de ellos sobre juegos. Sin embargo, este proyecto tampoco pudo realizarse por razones económicas y tecnológicas. Se sabe que Babbage nunca recibió remuneración alguna por sus trabajos, por lo que el Parlamento Inglés decidió ofrecerle un título de nobleza a cambio (le ofrecieron el título de Barón). Babbage rehusó aceptarlo, pidiendo mejor una pensión vitalicia que tampoco llegó a recibir. Sin embargo, ha recibido algo más valioso que cualquier título de nobleza: ser considerado el &lt;em&gt;padre de la computación moderna&lt;/em&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;A pesar de que Babbage no pudo construir la máquina analítica, su proyecto supuso sentar las bases de la computación y todos los conceptos por él expuestos en su diseño se demostraron que eran correctos años más tarde. Howard Aiken, director del Proyecto Mark I de la Universidad de Harvard, afirmó: "&lt;em&gt;Si Babbage hubiera vivido 75 años más tarde, yo estaría desempleado&lt;/em&gt;".&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;Babbage, por supuesto, no pudo terminar su invento y, a su muerte, había invertido en él más de 20,000 libras esterlinas. Su genio matemático, demasiado avanzado para su época, intentó algo que sólo más de un siglo después habría de hacerse realidad. En 1830 apareció su libro &lt;em&gt;Reflexiones sobre la Decadencia de la Ciencia en Inglaterra&lt;/em&gt;, al que siguieron, en 1832, &lt;em&gt;Una Economía de las Máquinas y las Manufacturas&lt;/em&gt; y en 1837, "&lt;em&gt;El noveno Tratado de Bridgewater&lt;/em&gt;".&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;Charles Babbage murió el 24 de octubre de 1871. La Sociedad Real a la que tan fuertemente cuestionara Babbage en vida, no se molestó en imprimirle un obituario, y el Times de Londres lo ridiculizó despiadadamente. Sin duda, fue un triste final para un brillante inventor, matemático, filósofo y sobre todo pensador, poseedor de una aguda mente y una profunda inteligencia.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-6157726126517082203?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/6157726126517082203/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=6157726126517082203' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/6157726126517082203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/6157726126517082203'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2007/10/charles-babbage-padre-de-la-computacin_18.html' title='Charles Babbage – Padre de la Computación'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vTprQ5YcFi4/RxdVm6U-JUI/AAAAAAAAAGk/UqikjG9slwM/s72-c/Charles+Babbage.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-2674926653442144660</id><published>2007-10-07T18:37:00.000-04:00</published><updated>2007-12-16T20:10:11.769-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Estándares'/><title type='text'>Prefijos Binarios</title><content type='html'>&lt;div align="justify"&gt;&lt;span class="firstcap"&gt;&lt;span&gt;E&lt;/span&gt;&lt;/span&gt;n el ámbito de la computación se emplean cifras que se expresan casi siempre como potencias de 2, basado en el hecho de que para las computadoras lo normal es lo binario. Inicialmente el prefijo "K" se usaba, y se usa, para expresar el múltiplo más pequeño del byte, unidad de información fundamental, tanto en la memoria principal como en los medios de almacenamiento. La razón es la similitud entre 10^3 y 2^10, que valen, respectivamente, 1000 y 1024. Se escribe en mayúsculas para diferenciarlo de kilo, que es el prefijo que indica el múltiplo 1000 en el Sistema Internacional de Unidades. Posteriormente, a medida que ha crecido la capacidad de almacenamiento de las computadoras, se han ido incorporando nuevos prefijos para expresar múltiplos de byte, tomados directamente del mencionado Sistema Internacional de Unidades, pero basados en potencias de 2. Así lo vemos en la siguiente tabla:&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://1.bp.blogspot.com/_vTprQ5YcFi4/RwmQbWoA3fI/AAAAAAAAAGI/ZUKe_pMvxEY/s400/Potencias+Binarias+2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5118781251087556082" /&gt;&lt;/div&gt;&lt;br /&gt;No obstante, el uso incorrecto de los prefijos del Sistema Internacional (con base 10) como si fueran prefijos binarios (con base 2) es causa de serias confusiones. De todas formas, estos prefijos mantienen el significado de las potencias de 10 cuando de lo que se trata es de expresar la velocidad de la transmisión de datos (cantidad de bits): la red Ethernet de 10 Mbps es capaz de transmitir 10.000.000 bps, y no 10.485.760 bps.&lt;br /&gt;&lt;br /&gt;El problema se acrecienta por no ser las unidades de información bit y byte unidades del SI. En el SI el bit, el byte, el octeto, el baudio o la cantidad de signos se darían en hertzios.  Aunque es más claro emplear "bit" para el bit y "b" para el byte, a menudo se emplea "b" para el bit y "B" para el byte (en el SI, B es la unidad del belio, siendo la del decibelio dB).&lt;br /&gt;&lt;br /&gt;El uso convencional sembró confusión: 1024 no es 1000. Los fabricantes de dispositivos de almacenamiento habitualmente usan los factores SI, por lo que un disco duro de 30 GB tiene una capacidad aproximada de 28 * 2^30 bytes, lo que serían 28 GB reales. Los ingenieros en telecomunicaciones también los usan: una conexión de 1 Mbps transfiere 106 bits por segundo. Sin embargo, los fabricantes de disquetes trabajan de otra forma: para ellos, el prefijo M no significa (1000 × 1000) como en el SI, ni (1024 × 1024) como en informática. El disquete común de "1,44 MB" tiene una capacidad de (1,44 × 1000 × 1024) bytes de 8 bits. (Sin olvidar que los disquetes de 3½ pulgadas son en realidad de 90 milímetros.)&lt;br /&gt;&lt;br /&gt;En la época de las computadoras de 32K de memoria ROM esta confusión no era muy peligrosa, ya que la diferencia entre 1000 y  1024 es más o menos 2%. En cambio con el acelerado crecimiento de la capacidad de las memorias y de los periféricos de almacenamiento en la actualidad, las diferencias llevan a errores cada vez mayores.&lt;br /&gt;&lt;br /&gt;Para tratar de aclarar esta confusión, la&lt;strong&gt; Comisión Electrotécnica Internacional&lt;/strong&gt; (&lt;i&gt;International Electrotechnical Commission IEC&lt;/i&gt;) eligió nuevos prefijos binarios en 1998, que consisten en colocar un 'bi' tras la primera sílaba del prefijo decimal (siendo el símbolo binario como el decimal más una 'i'). Por lo tanto, ahora un kilobyte (1 kB) son 1.000 bytes, y un kibibyte (KiB) 2^10 = 1.024 bytes. De la misma forma, mebi (Mi: 2^20), gibi (Gi: 2^30), tebi (Ti: 2^40), pebi (Pi: 2^50) y exbi (Ei: 2^60). Aunque el estándar del IEC nada diga al respecto, los siguientes prefijos alcanzarían hasta zebi (Zi: 2^70) y yobi (Yi: 2^80). Hasta el momento el empleo de estos últimos ha sido muy escaso.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/RwmQvGoA3gI/AAAAAAAAAGQ/7Y9aN4t6mNI/s400/Prefijos+Binarios+2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5118781590389972482" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Los nombres IEC están definidos hasta "exbi", correspondiente al prefijo SI "exa". Los otros prefijos, "zetta" (10^21) y "yotta" (10^24) no tienen correspondiente. Por extensión de lo establecido por la norma, se puede sugerir "zebi" (Zi) y "yobi" (Yi) como prefijos para 2^70         y 2^80. Incluso, fuera del ámbito de los organismos de estandarización, se han sugerido los prefijos "bronto" para 2^90 y "geop" para 2^100.&lt;br /&gt;&lt;br /&gt;La parte &lt;i&gt;bi&lt;/i&gt; del prefijo viene de la palabra &lt;i&gt;binario&lt;/i&gt;, por ejemplo, &lt;i&gt;kibibyte&lt;/i&gt; significa un &lt;i&gt;kilobinario byte&lt;/i&gt;, que es 1024 bytes. Nótese también la &lt;i&gt;K&lt;/i&gt; en mayúscula para el símbolo "&lt;i&gt;Kibi-&lt;/i&gt;": mientras que la letra para el prefijo análogo en el Sistema Internacional &lt;i&gt;kilo-&lt;/i&gt; es una &lt;i&gt;k&lt;/i&gt; en minúscula. La &lt;i&gt;K&lt;/i&gt; en mayúscula ha sido seleccionada para dar consistencia con otros prefijos y con el uso extendido y erróneo del prefijo del SI (como en "&lt;i&gt;KB&lt;/i&gt;").&lt;br /&gt;&lt;br /&gt;Para el año 2006 esta convención de nombres ya es empleada por algunos sistemas operativos como GNU/Linux, donde ya existen distribuciones que la exhiben (como Ubuntu), aunque todavía no ha ganado amplia difusión en otros medios.&lt;br /&gt;&lt;br /&gt;En la octava edición del Sistema Internacional de Unidades publicada en el año 2006 se especifica que los prefijos del SI se refieren estrictamente a potencias de 10, e indica que los prefijos adoptados por la IEC para potencias binarias en el estándar internacional IEC 60027-2:2005, &lt;strong&gt;Símbolos de letras para usarse en tecnología eléctrica - Parte 2: Tele-comunicaciones y electrónica&lt;/strong&gt; (&lt;i&gt;IEC 60027-2:2005, Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics&lt;/i&gt;) deberían ser usados en el campo de la tecnología de la información para evitar el uso incorrecto de los prefijos del SI, aunque estos prefijos no sean parte del SI.&lt;br /&gt;&lt;br /&gt;La IEEE ha aceptado el uso de los prefijos binarios bajo el estándar IEEE 1541 publicado en el año 2002 y elevado a estándar de uso completo en el año 2005. Allí se especifica "&lt;i&gt;B&lt;/i&gt;" como el símbolo para el byte (por ejemplo, &lt;i&gt;MB&lt;/i&gt; significa &lt;i&gt;megabyte&lt;/i&gt;), y "&lt;i&gt;b&lt;/i&gt;" como el símbolo para &lt;i&gt;bit&lt;/i&gt;; sin embargo la IEC 60027 y el MIXF especifican "&lt;i&gt;bit&lt;/i&gt;" (por ejemplo, &lt;i&gt;Mbit&lt;/i&gt; para &lt;i&gt;megabit&lt;/i&gt;), teniendo la mínima ambigüedad posible de byte "&lt;i&gt;b&lt;/i&gt;" vs "&lt;i&gt;B&lt;/i&gt;".&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-2674926653442144660?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/2674926653442144660/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=2674926653442144660' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/2674926653442144660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/2674926653442144660'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2007/10/prefijos-binarios-en-el-mbito-de-la.html' title='Prefijos Binarios'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vTprQ5YcFi4/RwmQbWoA3fI/AAAAAAAAAGI/ZUKe_pMvxEY/s72-c/Potencias+Binarias+2.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-1417943313977157762</id><published>2007-10-07T16:03:00.000-04:00</published><updated>2007-12-16T20:11:17.715-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Estándares'/><title type='text'>Sistema Internacional de Unidades</title><content type='html'>&lt;div align="justify"&gt;&lt;span class="firstcap"&gt;&lt;span&gt;E&lt;/span&gt;&lt;/span&gt;l &lt;strong&gt;Sistema Internacional de Unidades&lt;/strong&gt;, abreviado &lt;strong&gt;SI&lt;/strong&gt;, es el sistema de unidades más extensamente usado, y que antes se conoció como Sistema Métrico Decimal, que es su antecesor y que se ha mejorado. Fue creado en 1960 por la &lt;strong&gt;Conferencia General de Pesas y Medidas&lt;/strong&gt;, que inicialmente definió seis unidades físicas básicas o fundamentales. En 1971, fue añadida la séptima unidad básica, el mol.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Una de las principales características es que sus unidades están basadas en fenómenos físicos fundamentales. La única excepción es la unidad de la magnitud masa, el kilogramo, que está definida como “la masa del prototipo internacional del kilogramo”, o sea,  aquel cilindro de platino e iridio almacenado en una caja fuerte de la Oficina Internacional de Pesos y Medidas.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Las unidades del SI son la referencia internacional de las indicaciones de los instrumentos de medida y a las que están referidas a través de una cadena ininterrumpida de calibraciones o comparaciones. Esto permite alcanzar la equivalencia de las medidas realizadas por instrumentos similares, utilizados y calibrados en lugares apartados y por ende asegurar el cumplimiento de las características de los objetos que circulan en el comercio internacional.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Unidades Básicas&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;El Sistema Internacional de Unidades consta de siete unidades básicas, también denominadas unidades fundamentales. Son las unidades utilizadas para expresar las magnitudes físicas definidas como fundamentales, a partir de las cuales se definen las demás:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://1.bp.blogspot.com/_vTprQ5YcFi4/RwlFbWoA3cI/AAAAAAAAAFw/-2E26sV3ePc/s400/Magnitudes+Físicas.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5118698787715472834" /&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;Normas Ortográficas para los Símbolos&lt;/div&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;• Los símbolos de las unidades no deben tratarse como abreviaturas, por lo que se deben escribir siempre tal cual están definidos. Por ejemplo, m para metro, y A para amperio; por tanto, es incorrecto escribir Kg para kilogramos, mt para metro o seg para segundo.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;• Deben usarse preferentemente los símbolos y no los nombres. Por ejemplo, debe escribirse kHz y no kilohertz o kilohertzio.&lt;br /&gt;&lt;br /&gt;• Los símbolos no deben pluralizarse, es decir, no debe añadirse una "s" al final. Así, escribirá 10 kilohertz y no 10 kilohertzs, e igualmente 5 kg y no 5 kgs.&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;• Tampoco debe escribirse un punto (".") al final de un símbolo, salvo cuando el símbolo se encuentra al final de una frase. Por lo tanto, es incorrecto escribir, por ejemplo, el símbolo de kilogramos como "kg." (con el punto). La única manera correcta de escribirlo es "kg". Esto se debe a que se quiere evitar que haya malas interpretaciones; por ejemplo: "Kg", podría entenderse como kelvin•gramo, ya que "K" es el símbolo de la unidad de temperatura kelvin. Por otra parte, ésta última se escribe sin el símbolo de grados "º", pues su nombre correcto no es grado Kelvin (°K), sino sólo kelvin (K).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;El SI puede ser usado legalmente en cualquier país del mundo, incluso en aquellos que no lo han implantado. En otros muchos países su uso es obligatorio. En los países que utilizan todavía otros sistemas de unidades de medidas, como los Estados Unidos y el Reino Unido, se acostumbran a indicar las unidades del SI junto a las propias, a efectos de conversión de unidades. El SI fue adoptado por la undécima Conferencia General de Pesos y Medidas (CGPM o &lt;i&gt;Conférence Générale des Poids et Mesures&lt;/i&gt;) en 1960.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Prefijos del Sistema Internacional&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;Los prefijos del SI son prefijos empleados para nombrar a los múltiplos y submúltiplos de cualquier unidad del Sistema Internacional (SI), ya sean unidades básicas o derivadas. Estos prefijos no pertenecen solamente al SI. Muchos de ellos, así como la propia idea de emplearlos, son anteriores al establecimiento del Sistema Internacional en 1960; por lo tanto, se emplean a menudo en unidades que no pertenecen al SI. Los prefijos pertenecientes al SI los fija oficialmente la Oficina Internacional de Pesos y Medidas (&lt;i&gt;Bureau International des Poids et Mesures&lt;/i&gt;).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/RwlAP2oA3aI/AAAAAAAAAFg/0jY3vZTaBi0/s400/Prefijos+SI.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5118693092588838306" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Vistazo General&lt;/strong&gt;&lt;br /&gt;&lt;div align="justify"&gt;El prefijo kilo, por ejemplo, multiplica por mil, por lo tanto un kilómetro son 1.000 m, y un kilovatio son 1.000 W. El prefijo mili divide entre mil; por lo tanto, un milímetro es la milésima parte de un metro (se necesitan 1.000 milímetros para completar un metro), y un mililitro es la milésima parte de un litro. Otra de las ventajas del SI es el empleo de un mismo prefijo para cualquier unidad, lo que facilita el aprendizaje y el empleo de dicho sistema. Ejemplos:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;5 cm = 5 × 10−2 m = 5 × 0,01 m = 0,05 m&lt;br /&gt;3 MW = 3 × 106 W = 3 × 1.000.000 W = 3.000.000 W&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;No se pueden poner dos o más prefijos juntos: por ejemplo, 10−9 metros hay que escribirlos como 1 nm, y no 1 mµm. Hay que tener en cuenta antes los prefijos que las potencias; así, "km²" se lee kilómetros cuadrados, no kilo metros-cuadrados. Por ejemplo, 3 km² son 3.000.000 m², no 3.000 m². Es decir, los prefijos del SI en lugar de miles se convierten en multiplicadores de millón en el caso de las potencias de 2, de mil millones en el caso de las potencias de 3 y así sucesivamente.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Son mejores los prefijos cuya potencia es múltiplo de tres. Por ello es preferible emplear "100 m" que "1 hm". Hay, sin embargo, algunas excepciones importantes: el centímetro, la hectárea (hecto-área), el centilitro, el decímetro cúbico (equivalente a un litro), el hectopascal y el decibelio (la décima parte de un belio).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Los prefijos myria- y myrio-, que han quedado obsoletos, se abandonaron antes de que el SI entrara en vigor en 1960, probablemente por no seguir el mismo modelo que el resto de prefijos, por no existir símbolos adecuados para representarlos y por ser, en general, poco empleados.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-1417943313977157762?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/1417943313977157762/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=1417943313977157762' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/1417943313977157762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/1417943313977157762'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2007/10/sistema-internacional-de-unidades-el.html' title='Sistema Internacional de Unidades'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vTprQ5YcFi4/RwlFbWoA3cI/AAAAAAAAAFw/-2E26sV3ePc/s72-c/Magnitudes+Físicas.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-3500785697567351415</id><published>2007-09-24T23:52:00.000-04:00</published><updated>2007-12-16T20:11:39.656-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Estándares'/><title type='text'>Sistema de Unidades Binarias</title><content type='html'>&lt;div align="justify"&gt;&lt;span&gt;&lt;span class="firstcap"&gt;&lt;span&gt;T&lt;/span&gt;&lt;/span&gt;&lt;span&gt;odos se habrán preguntado alguna vez de dónde han surgido los nombres utilizados para medir la cantidad de información almacenada y transmitida por medios digitales, y los respectivos múltiplos de estas unidades. Las palabras &lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span&gt;bit&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span&gt; y &lt;/span&gt;&lt;i&gt;&lt;strong&gt;&lt;span&gt;byte&lt;/span&gt;&lt;/strong&gt;&lt;/i&gt;&lt;span&gt;, por ejemplo y sus prefijos como &lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span&gt;mega&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span&gt;, &lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span&gt;giga&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span&gt; o  &lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span&gt;tera&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;BIT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div align="justify"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Empecemos por el principio, el término&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; bit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; es el acrónimo de&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; Binary digit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; (dígito binario). Un bit es un dígito del sistema de numeración binario. La Real Academia Española (RAE) ha aceptado la palabra &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;bit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; con el plural&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; bits&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div align="justify"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Mientras que en el sistema de numeración decimal se usan diez dígitos, en el binario se usan sólo dos dígitos, el 0 y el 1. Un bit o dígito binario puede representar uno de esos dos valores, 0 ó 1.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;El bit es la unidad mínima de información empleada en informática, en cualquier dispositivo digital, o en la teoría de la información. Con él, podemos representar dos valores cualesquiera, como verdadero o falso, abierto o cerrado, abajo o arriba, norte o sur, masculino o femenino, etc. Basta con asignar uno de esos valores al estado de "apagado" (0), y el otro al estado de "encendido" (1).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;El concepto de bit está asociado a un simple circuito electrónico, el cual puede estar abierto o cerrado, haciendo corresponder el estado cerrado al valor 1 y el estado abierto al valor 0. Los aspectos técnicos de esta asociación lo dejamos para otra oportunidad.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div align="center"&gt;&lt;img src="http://1.bp.blogspot.com/_vTprQ5YcFi4/RviQkmoA3EI/AAAAAAAAABw/hOiLZC7V6Fc/s400/Circuitos+-+Bits.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5113996335397264450" /&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Origen del término bit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Fue &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Claude E. Shannon&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;, creador de la &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Teoría de la Información&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;, quien usó la palabra bit por primera vez en un trabajo académico de 1948. Él atribuyó su origen a &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;John W. Tukey&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;, que había escrito una nota en los laboratorios Bell el 9 de enero de 1947 en la cual contrajo las palabras &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;bi&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;nary digi&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; a simplemente "&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;bit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;". Curiosamente, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Vannevar Bush&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;, integrante del equipo que construyó la primera bomba atómica y también en el desarrollo de las primitivas computadoras, había escrito en 1936 sobre los "&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;bits de información&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;" que podían ser almacenados en las tarjetas perforadas usadas en las computadoras mecánicas de ese tiempo. Hay que recordar que la palabra bit originalmente en inglés significa “&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;pedazo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;”, “&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;pizca&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;”, etc.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Combinaciones de bits&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Con un bit podemos representar solamente dos valores. Para representar o codificar más información en un dispositivo digital, necesitamos una mayor cantidad de bits. En general, con n número de bits pueden representarse hasta 2^n valores diferentes.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div align="center"&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/Rxda1KU-JWI/AAAAAAAAAG0/C5k-qGDbD4w/s400/Bits+-+Valores.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5122662970509108578" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;A través de secuencias de bits, se puede codificar cualquier valor discreto como números, palabras, e incluso imágenes. Cuatro bits forman un &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;nibble&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;, y pueden representar hasta 2^4 = 16 valores diferentes; ocho bits forman un &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;octeto&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;, y se pueden representar hasta 2^8 = 256 valores diferentes.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Nota&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;: Un byte y un octeto no son la misma cosa. Mientras que un octeto siempre tiene 8 bits, un byte contiene un número fijo de bits, que no necesariamente son 8. En los computadores antiguos, el byte podría estar conformado por 6, 7, 8 ó 9 bits. Hoy en día, en la inmensa mayoría de los computadores, y en la mayoría de los campos, un byte tiene 8 bits, siendo equivalente al octeto, pero hay excepciones.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Bits más y menos significativos&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Un conjunto de bits, como por ejemplo un byte, representa un conjunto de elementos ordenados. Se llama &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;bit más significativo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;MSB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;M&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;ore&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; S&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;ignificant &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;B&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/i&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;it&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;) al bit que tiene mayor valor dentro del conjunto; análogamente, se llama &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;bit menos significativo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;LSB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;L&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;ess &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;S&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;ignificant &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;B&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;it&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;) al bit que tiene menor valor dentro del conjunto. En un byte, el bit más significativo es el de la posición 7, y el menos significativo es el de la posición 0. En cualquier caso, el bit más significativo es el del extremo izquierdo y el menos significativo el del extremo derecho.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div align="center"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/RviSnGoA3GI/AAAAAAAAACA/kxylJJ9bxfw/s400/BITS-+MSB+y+LSB.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5113998577370192994" /&gt;&lt;/div&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;BYTE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Voz inglesa, se pronuncia &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;bait&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;, que si bien la Real Academia Española ha aceptado como equivalente a octeto, es decir a ocho bits, para fines correctos, un byte debe ser considerado como una secuencia de bits contiguos, cuyo tamaño depende del código de información o código de caracteres en que sea definido.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Se usa comúnmente como unidad básica de almacenamiento de información en combinación con los prefijos de cantidad. Originalmente el byte fue elegido para ser un submúltiplo del tamaño de palabra de una computadora, desde seis a nueve bits. La popularidad de la arquitectura IBM S/360 que empezó en los años 1960 y la explosión de las microcomputadoras basadas en microprocesadores de 8 bits en los años 1980 ha hecho obsoleta la utilización de otra cantidad que no sean 8 bits. El término &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;octeto&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; se utiliza ampliamente como un sinónimo preciso donde la ambigüedad es indeseable (por ejemplo, en definiciones de protocolos).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Historia&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;El término &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;byte&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; fue acuñado por &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Werner Buchholz&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; en 1957 durante las primeras fases de diseño de la IBM 7030. Originalmente fue definido en instrucciones de 4 bits. Los equipos típicos de E/S de este periodo utilizaban unidades de seis bits. Un tamaño fijo de byte de 8 bits se adoptó posteriormente y se promulgó como un estándar por el IBM S/360. El término &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;byte&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; viene de &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;bite&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; (en inglés "&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;mordisco&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;"), como la cantidad más pequeña de datos que una computadora podía "&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;morder&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;" a la vez, pero se forma de la expresión&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;b&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;inar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;te&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;rm&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;. El cambio de letra no solo redujo la posibilidad de confundirlo con "&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;bit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;", sino que también era consistente con la afición de los primeros científicos en computación en crear palabras y cambiar letras.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Los primeros microprocesadores, como el Intel 8008 (el predecesor directo del 8080 y el Intel 8086) podían realizar un número pequeño de operaciones en 4 bits, como la instrucción DAA (ajuste decimal) y la bandera &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;half carry&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; que eran utilizados para implementar rutinas de aritmética decimal. Estas cantidades de cuatro bits se llamaron "&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;nibble&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;" (“&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;mordisquito&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;”, “&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;bocado&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;”) para contrastarlo con byte (mordisco) y con bit (pizca).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Little Endian y Big Endian&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;En las computadoras cada byte se identifica con su posición en la memoria (dirección). Cuando se manejan números de más de un byte, éstos también deben estar ordenados. Este aspecto es particularmente importante en la programación en código máquina, ya que algunas máquinas consideran el byte situado en la dirección más baja el menos significativo (arquitecura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Little&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Endian&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;, como los procesadores Intel) mientras que otras consideran que ése es el más significativo (arquitectura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Big Endian&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;, como los procesadores Motorola). De este modo, un byte con el número decimal 27 se almacenaría en una máquina &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Little Endian&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; igual que en una máquina &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Big Endian&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;, ya que sólo ocupa un byte. Sin embargo, para números más grandes los bytes que los representan se almacenarían en distinto orden en cada arquitectura. Por ejemplo, consideremos el número hexadecimal entero AABBCCDD, de 32 bits (4 bytes), localizado en la dirección 100 de la memoria. El número ocuparía las posiciones desde la 100 a la 103, pero dependiendo de si la máquina es &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;little&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; o &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;big endian&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;, los bytes se almacenarían de diferente manera:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div align="center"&gt;&lt;img src="http://2.bp.blogspot.com/_vTprQ5YcFi4/RviTS2oA3II/AAAAAAAAACQ/k4hXZZ5Ubyg/s400/Little+Endian+y+Big+Endian.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5113999328989469826" /&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Palabras alternativas&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Los bytes de 8 bits a menudo se llaman octetos en contextos formales como los estándares industriales, así como en redes de computadoras y telecomunicaciones para evitar confusiones sobre el número de bits implicados. Sin embargo, los bytes de 8 bits se integran firmemente en estándares comunes como Ethernet y HTML. Un octeto es también la palabra utilizada por la cantidad de ocho bits en muchos lenguajes no ingleses.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-3500785697567351415?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/3500785697567351415/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=3500785697567351415' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/3500785697567351415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/3500785697567351415'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2007/09/sistema-de-unidades-binarias-primera.html' title='Sistema de Unidades Binarias'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vTprQ5YcFi4/RviQkmoA3EI/AAAAAAAAABw/hOiLZC7V6Fc/s72-c/Circuitos+-+Bits.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-8861175699842483206</id><published>2007-08-30T00:55:00.000-04:00</published><updated>2007-12-16T20:12:06.089-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Estándares'/><title type='text'>Codificación de Caracteres</title><content type='html'>&lt;div align="justify"&gt;La codificación de caracteres nos permite representar un carácter del alfabeto de un lenguaje natural en otro símbolo de algún otro sistema,  como un número o una secuencia de pulsos eléctricos en un sistema electrónico, aplicando normas o reglas de codificación.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;Normas de Codificación&lt;/strong&gt;&lt;br /&gt;&lt;div align="justify"&gt;Indican cómo se codifica un carácter dado en un símbolo en otro sistema de representación. Ejemplos de esto son el código Morse, la norma ASCII o la UTF-8, entre otros.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;ASCII&lt;/strong&gt;&lt;br /&gt;&lt;div align="justify"&gt;El código ASCII (acrónimo inglés de&lt;strong&gt; &lt;/strong&gt;&lt;i&gt;&lt;strong&gt;A&lt;/strong&gt;merican &lt;strong&gt;S&lt;/strong&gt;tandard &lt;strong&gt;C&lt;/strong&gt;ode for &lt;strong&gt;I&lt;/strong&gt;nformation &lt;strong&gt;I&lt;/strong&gt;nterchange&lt;/i&gt;: Código Estadounidense Estándar para el Intercambio de Información), pronunciado generalmente &lt;i&gt;áski&lt;/i&gt; (quizás por sugerir &lt;i&gt;ask key&lt;/i&gt;) es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y en otras lenguas occidentales. Fue creado en 1963 por el &lt;i&gt;Comité Estadounidense de Estándares&lt;/i&gt; (ASA, conocido desde 1969 como el &lt;i&gt;Instituto Estadounidense de Estándares Nacionales&lt;/i&gt;, o &lt;strong&gt;ANSI&lt;/strong&gt;) como una evolución de los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el código conocido como &lt;strong&gt;US-ASCII&lt;/strong&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;El código ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la transmisión. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits, como el estándar ISO-8859-1 que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés, como el español.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por última vez en 1986. En la actualidad define códigos para 33 caracteres no imprimibles, de los cuales la mayoría son caracteres de control obsoletos que tienen efecto sobre cómo se procesa el texto, más otros 95 caracteres imprimibles que les siguen en la numeración (empezando por el carácter espacio). Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;El código ASCII especifica una correspondencia entre cadenas de bits y símbolos escritos de la lengua, permitiendo de esta forma la comunicación entre dispositivos digitales así como su procesamiento y almacenamiento. El código de caracteres ASCII, especialmente la variante conocida como US-ASCII se usa hoy en casi todas las computadoras, bien sea de escritorio o portátiles así como estaciones de trabajo.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;ASCII es, en sentido estricto, un código de siete bits, lo que significa que usa cadenas de siete dígitos binarios (que van de 0 a 127 en base decimal) para representar caracteres. En el momento en el que se introdujo el código ASCII muchas computadoras trabajaban con grupos de ocho bits (bytes u octetos), como la unidad mínima de información; donde el octavo bit se usaba habitualmente como bit de paridad con funciones de control de errores en líneas de comunicación u otras funciones específicas del dispositivo. Las máquinas que no usaban la comprobación de paridad asignaban al octavo bit el valor cero en la mayoría de los casos.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;Historia&lt;/strong&gt;&lt;br /&gt;&lt;div align="justify"&gt;El código ASCII se desarrolló en el ámbito de la telegrafía, y se usó por primera vez comercialmente como un código de teleimpresión impulsado por los servicios de datos de los &lt;i&gt;Laboratorios Bell&lt;/i&gt;, que había planeado usar un código de seis bits,  que añadía puntuación y letras minúsculas al más antiguo código de teleimpresión  &lt;i&gt;Baudot&lt;/i&gt;, pero se les convenció para que se unieran al subcomité de la Agencia de Estándares Estadounidense (ASA), que habían empezado a desarrollar el código ASCII. Baudot ayudó en la automatización del envío y recepción de mensajes telegráficos, y tomó muchas características del código &lt;i&gt;Morse&lt;/i&gt;; sin embargo, a diferencia del código Morse, Baudot usó códigos de longitud constante.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;La Agencia de Estándares Estadounidense (ASA), que se convertiría más tarde en el Instituto Nacional Estadounidense de Estándares (ANSI), publicó por primera vez el código ASCII en 1963. El ASCII publicado en 1963 tenía una flecha apuntando hacia arriba (↑) en lugar del circunflejo (^) y una flecha apuntando hacia la izquierda en lugar del subrayado (←). La versión de 1967 añadió las letras minúsculas, cambió los nombres de algunos códigos de control y cambió de lugar los dos códigos de control &lt;strong&gt;&lt;i&gt;ACK&lt;/i&gt;&lt;/strong&gt; y &lt;i&gt;&lt;strong&gt;ESC&lt;/strong&gt;&lt;/i&gt; de la zona de letras minúsculas a la zona de códigos de control. ASCII ha sido actualizado y publicado primero como como ANSI X3.4-1968, luego ANSI X3.4-1977, y finalmente ANSI X3.4-1986.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;El código ASCII también está incluido en su inminente relevo, &lt;i&gt;&lt;strong&gt;Unicode&lt;/strong&gt;&lt;/i&gt;, constituyendo los primeros 128 caracteres (o los más bajos). Algunos observadores consideran al código ASCII el estándar de software más exitoso que nunca se haya promulgado.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Los Caracteres de Control ASCII&lt;/strong&gt;&lt;br /&gt;&lt;div align="justify"&gt;El código ASCII reserva los primeros 32 códigos (numerados del 0 al 31 en decimal) para caracteres de control: códigos no pensados originalmente para representar información imprimible, sino para controlar dispositivos (como impresoras) que usaban ASCII. Por ejemplo, el carácter 10 representa la función "&lt;i&gt;nueva línea&lt;/i&gt;" (&lt;strong&gt;&lt;i&gt;L&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;ine &lt;strong&gt;F&lt;/strong&gt;eed&lt;/i&gt;), que hace que una impresora avance el papel, y el carácter 27 representa la tecla "&lt;strong&gt;&lt;i&gt;ESC&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;ape&lt;/i&gt;".&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Muchos de los caracteres de control ASCII servían para marcar paquetes de datos, o para controlar protocolos de transmisión de datos (por ejemplo &lt;strong&gt;&lt;i&gt;ENQ&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;uiry&lt;/i&gt;, con el significado: “&lt;i&gt;¿hay alguna estación por ahí?&lt;/i&gt;”, &lt;strong&gt;&lt;i&gt;ACK&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;nowledge&lt;/i&gt;: “&lt;i&gt;recibido&lt;/i&gt;” o "&lt;i&gt;acuse de recibo&lt;/i&gt;", &lt;i&gt;&lt;strong&gt;N&lt;/strong&gt;&lt;/i&gt;&lt;i&gt;egative &lt;strong&gt;A&lt;/strong&gt;c&lt;strong&gt;K&lt;/strong&gt;nowledge&lt;/i&gt;: “&lt;i&gt;No recibido&lt;/i&gt;”, &lt;strong&gt;&lt;i&gt;S&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;tart &lt;strong&gt;O&lt;/strong&gt;f &lt;strong&gt;H&lt;/strong&gt;eader&lt;/i&gt;: “&lt;i&gt;inicio de cabecera&lt;/i&gt;”, &lt;strong&gt;&lt;i&gt;S&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;tart of &lt;strong&gt;T&lt;/strong&gt;e&lt;strong&gt;X&lt;/strong&gt;t&lt;/i&gt;: “&lt;i&gt;inicio de texto&lt;/i&gt;”, &lt;strong&gt;&lt;i&gt;E&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;nd of &lt;strong&gt;T&lt;/strong&gt;e&lt;strong&gt;X&lt;/strong&gt;t&lt;/i&gt;: “&lt;i&gt;final de texto&lt;/i&gt;”, etc.).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Actualmente los usuarios de ASCII usan menos los caracteres de control, (con algunas excepciones como &lt;strong&gt;&lt;i&gt;C&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;arriage &lt;strong&gt;R&lt;/strong&gt;eturn&lt;/i&gt; ("&lt;i&gt;retorno de carro&lt;/i&gt;", o sea, la tecla &lt;i&gt;ENTER&lt;/i&gt;) o &lt;strong&gt;&lt;i&gt;N&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;ew &lt;strong&gt;L&lt;/strong&gt;ine&lt;/i&gt; ("&lt;i&gt;nueva línea&lt;/i&gt;"). Los lenguajes modernos de etiquetas, los protocolos modernos de comunicación, el paso de dispositivos basados en texto a basados en gráficos, el declive de las teleimpresoras, las tarjetas perforadas y los papeles continuos han dejado obsoleta la mayoría de caracteres de control.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Caracteres Imprimibles ASCII&lt;/strong&gt;&lt;br /&gt;&lt;div align="justify"&gt;El código 32, el carácter espacio, designa al espacio entre palabras, y se produce normalmente por la barra espaciadora de un teclado. Los códigos del 33 al 126 se conocen como caracteres imprimibles, y representan letras (mayúsculas y minúsculas, pero del alfabeto del idioma inglés), dígitos, signos de puntuación y varios símbolos especiales como $, %, &amp;amp; y otros.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Los dígitos del 0 al 9 se representan con sus valores prefijados con el valor 0011 en binario, esto significa que la conversión BCD-ASCII es una simple cuestión de tomar cada unidad BCD y prefijarla con 0011.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;La notación &lt;strong&gt;BCD&lt;/strong&gt; (&lt;i&gt;Binary Coded Decimal&lt;/i&gt;: Decimal codificado como binario) consiste en representar cada dígito decimal como un número binario de 4 dígitos, de la siguiente manera:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/RviEeWoA3BI/AAAAAAAAABY/g72mo84Da58/s400/Dígitos+en+Binario.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5113983033883548690" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Así entonces, en el código ASCII el carácter &lt;strong&gt;5&lt;/strong&gt;, por ejemplo, se representa concatenando los dígitos &lt;strong&gt;0011&lt;/strong&gt; con su correspondiente valor numérico, o sea, &lt;strong&gt;0101&lt;/strong&gt;, dando así la secuencia de dígitos binarios &lt;strong&gt;00110101&lt;/strong&gt;, que corresponde a su vez al número decimal &lt;strong&gt;53&lt;/strong&gt; el cual es, entonces, el código ASCII del carácter ‘&lt;strong&gt;5&lt;/strong&gt;’.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Las cadenas de bits de las letras minúsculas y mayúsculas sólo difieren en un bit, el 5, simplificando de esta forma la conversión de uno a otro grupo. Por ejemplo:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/RviFZGoA3DI/AAAAAAAAABo/dL7CQ-dvo74/s400/Dígitos+en+ASCII.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5113984043200863282" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;Variantes de ASCII&lt;/strong&gt;&lt;br /&gt;&lt;div align="justify"&gt;A medida que la tecnología informática se difundió a lo largo del mundo, se desarrollaron diferentes estándares y las empresas desarrollaron muchas variaciones del código ASCII para facilitar la escritura de lenguas diferentes al inglés que usaran alfabetos latinos. Se pueden encontrar algunas de esas variaciones clasificadas como &lt;strong&gt;ASCII Extendido&lt;/strong&gt;, aunque en ocasiones el término se aplica erróneamente para cubrir todas las variantes, incluso las que no preservan el conjunto de códigos de caracteres original ASCII de siete bits.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;La tecnología mejoró y aportó medios para representar la información codificada en el octavo bit de cada byte, liberando este bit, lo que añadió otros 128 códigos de carácter adicionales que quedaron disponibles para nuevas asignaciones. Por ejemplo, IBM desarrolló páginas de código de 8 bits que reemplazaban los caracteres de control con símbolos gráficos, y asignó otros caracteres gráficos adicionales a los 128 bytes superiores de la página de códigos.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/RtZVa8XDN4I/AAAAAAAAAAo/EgLs-UPbrFA/s400/ASCII+1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5104361149038802818" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;div align="center"&gt;&lt;img src="http://4.bp.blogspot.com/_vTprQ5YcFi4/RtZVxMXDN5I/AAAAAAAAAAw/rM0-XOFqx2Q/s400/ASCII+2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5104361531290892178" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-8861175699842483206?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/8861175699842483206/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=8861175699842483206' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/8861175699842483206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/8861175699842483206'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2007/08/codificacin-de-caracteres-cdigo-ascii.html' title='Codificación de Caracteres'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vTprQ5YcFi4/RviEeWoA3BI/AAAAAAAAABY/g72mo84Da58/s72-c/Dígitos+en+Binario.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-3183242377545746121</id><published>2007-08-15T12:56:00.000-04:00</published><updated>2007-12-16T20:12:26.557-04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Biografías'/><title type='text'>AL JWARIZMI</title><content type='html'>&lt;div align="justify"&gt;&lt;div align="justify"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Uno de los conceptos fundamentales de la Ciencia de la Computación es, sin duda alguna, el de &lt;strong&gt;algoritmo&lt;/strong&gt;, el cual podemos definir como “&lt;i&gt;una secuencia ordenada de operaciones o pasos que permite hallar la solución a un problema&lt;/i&gt;”. Esta definición no se refiere, por supuesto, exclusivamente a problemas a ser resueltos por una computadora ya que la podemos aplicar a múltiples actividades, científicas o no. El origen etimológico de la palabra tiene que ver con un gran matemático de la Edad Media conocido como &lt;strong&gt;Al-Jwarizmi&lt;/strong&gt;. Aunque los algoritmos datan de tiempos babilónicos y los griegos diseñaron algoritmos aún famosos (por ejemplo, el de Euclides para calcular el máximo común divisor de dos números), fue Al-Jwarizmi el primero que diseñó algoritmos pensando en su eficiencia para el cálculo de raíces de ecuaciones.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div align="center"&gt;&lt;img src="http://3.bp.blogspot.com/_vTprQ5YcFi4/RwmmR2oA3hI/AAAAAAAAAGY/3wX0zYgCi6c/s400/Al+Jwarismi.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5118805277134609938" /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;div align="justify"&gt;&lt;div align="justify"&gt;&lt;div align="center"&gt;&lt;div align="justify"&gt;&lt;strong&gt;Mohammad Ibn Musa abu Djafar Al-Jwarizmi&lt;/strong&gt; nació alrededor del año 780 en Jwarizm (la actual Khiva, en Uzbekistán), en Asia central. Su fecha exacta de nacimiento y muerte no son conocidas con exactitud, pero se sabe que realizó sus trabajos bajo los califatos de al-Ma`mun y al-Mu'tasim en Bagdad, alrededor de los años 813-833, y probablemente murió en Bagdad alrededor del año 840. Su nombre significa &lt;span&gt;&lt;i&gt;Mohamed, hijo de Moisés, padre de Jafar, el de Jwarizmi&lt;/i&gt;&lt;/span&gt;&lt;span&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Al-Jwarizmi fue matemático, astrónomo y geógrafo; se le considera el fundador de varias ramas de las matemáticas y el que usó por primera vez determinados conceptos básicos en esta ciencia. Sus ideas influenciaron en varios matemáticos medievales.&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;A Al-Jwarizmi se le considera el inventor del Álgebra, palabra que deriva de su libro &lt;i&gt;&lt;strong&gt;Kitab al-Jabr wa-al-Muqabilah&lt;/strong&gt;&lt;/i&gt;  ("&lt;i&gt;El Libro de las Ecuaciones y las Integrales&lt;/i&gt;"), que fue traducido al latín  en el siglo  XII. Es una compilación de soluciones de ecuaciones, de geometría elemental y de métodos relacionados con cálculos comerciales y de herencias, además de sistematizar la resolución de ecuaciones cuadráticas. El trabajo está basado en la tradición matemática de Babilonia.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Su obra de Aritmética, traducida al latín como &lt;i&gt;Algoritmi de numero Indorum &lt;/i&gt;introduce el sistema numérico indio (sólo conocido por los árabes unos 50 años antes) y los algoritmos para calcular con él. En ella sintetizó los conocimientos griegos e hindúes aportando él sus propios descubrimientos. Explicó el uso del cero, desarrolló el sistema decimal, introdujo el sistema numeral Indio (ahora conocido como números árabes), desarrolló operaciones matemáticas entre ellas las operaciones con fracciones, perfeccionó la representación geométrica de las cónicas y entre otras muchas cosas más desarrolló las tablas trigonométricas con la función seno. Fue a través de sus trabajos sobre el sistema decimal que se conoció en Europa la numeración ahora conocida como arábiga pero que como se ve es de origen hindú. También colaboró en hallar las medidas del volumen y del radio de la Tierra  ordenado por Mamun al-Rashid. Las palabras &lt;i&gt;guarismo&lt;/i&gt; (cifra, número) y &lt;i&gt;algoritmo&lt;/i&gt; también provienen de su nombre.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;El trabajo de Al-Jwarizmi permitió preservar y difundir el conocimiento de los griegos e indios. Rescató de los griegos la rigurosidad y de los indios la simplicidad (en vez de una larga demostración, usar un diagrama junto a la palabra &lt;i&gt;mira&lt;/i&gt;). Sus libros son intuitivos y prácticos y su principal contribución fue simplificar las matemáticas a un nivel entendible por no expertos. En particular muestran las ventajas de usar el sistema decimal indio, un atrevimiento para su época, dado lo tradicional de la cultura árabe. La exposición clara de cómo calcular de una manera sistemática a través de algoritmos diseñados para ser usados con algún tipo de dispositivo mecánico similar a un ábaco, más que con lápiz y papel, muestra la intuición y el poder de abstracción de Al-Jwarizmi. Hasta se preocupaba de reducir el número de operaciones necesarias en cada cálculo. Por esta razón, aunque no haya sido él el inventor del primer algoritmo, merece que este concepto esté asociado a su nombre. Al-Jwarizmi fue sin duda el primer pensador &lt;i&gt;algorítmico&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-3183242377545746121?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/3183242377545746121/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=3183242377545746121' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/3183242377545746121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/3183242377545746121'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2007/08/introduccin-muchos-se-preguntarn-quin.html' title='AL JWARIZMI'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vTprQ5YcFi4/RwmmR2oA3hI/AAAAAAAAAGY/3wX0zYgCi6c/s72-c/Al+Jwarismi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-991317456146976656.post-8570269411932889089</id><published>2007-08-14T22:52:00.000-04:00</published><updated>2007-08-15T21:09:56.546-04:00</updated><title type='text'>Introducción</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-size:130%;"&gt;&lt;span&gt;&lt;span&gt;Este blog que iniciamos hoy tiene como finalidad la de servir de contacto entre mis alumnos de la Escuela de Ingeniería de Computación de la Universidad Rafael Urdaneta, en la ciudad de Maracaibo, República Bolivariana de Venezuela, y este servidor ing.  Nerio Villalobos Finol, profesor de dicha Escuela, pero estará abierto a cualquier persona de cualquier edad, nacionalidad, sexo o nivel de instrucción que necesite y use una computadora en sus actividades de estudio, trabajo, comunicación y entretenimiento, vale decir, todo el  mundo.&lt;br /&gt;&lt;br /&gt;Por supuesto que la principal actividad de este blog será interactuar con mis alumnos a través de trabajos, proyectos y evaluaciones, pero también serán tratados temas que directa o indirectamente tengan relación con la Ciencia de la Computación. Por ejemplo, trataremos de incorporar cada semana una biografía de algún personaje importante en la historia de esta ciencia relativamente reciente, pero no menos llena de hechos relevantes y hasta curiosos.&lt;br /&gt;&lt;br /&gt;Igualmente se procurará la incorporación de código fuente de programas en diferentes lenguajes, pues consideramos que la habilidad de programar nunca debe perderse, pues es la base de la computación. Estos programas seguramente vendrán como complementos de los temas tratados en cada artículo, incluso podrían formularse como proyectos.&lt;br /&gt;&lt;br /&gt;Esperamos su colaboración y participación para que todos salgamos ganando, pues el aprendizaje nunca termina.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/991317456146976656-8570269411932889089?l=webatario.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webatario.blogspot.com/feeds/8570269411932889089/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=991317456146976656&amp;postID=8570269411932889089' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/8570269411932889089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/991317456146976656/posts/default/8570269411932889089'/><link rel='alternate' type='text/html' href='http://webatario.blogspot.com/2007/08/slo-es-un-comentario-para-probar.html' title='Introducción'/><author><name>neriovf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_vTprQ5YcFi4/TQTpGNtQH7I/AAAAAAAAAbk/Ptr689ndT6Q/S220/Nerio2.jpg'/></author><thr:total>0</thr:total></entry></feed>
