Autor Tema: Unidad minima en almacenamiento?  (Leído 12641 veces)

gmadueno

  • Visitante
Unidad minima en almacenamiento?
« : 13 de enero de 2008, 04:16:58 am »
Esta es una pregunta para nuestros invitados

Muchos probablemente lo saben por ser elemental, cual es el nombre de la unidad minima en almacenamiento? y que significa.

Suerte! los espero con su respuesta!!!! ;) quiero ver esos chancones. jajajajaja.

bruno

  • Visitante
Re: Unidad minima en almacenamiento?
« Respuesta #1 : 14 de enero de 2008, 09:34:39 pm »
 :o buena pregunta aunq no soy chancon creo q la respuesta es la sgte
Bit
Unidad mínima de almacenamiento de la información cuyo valor puede ser 0 ó 1; o bien verdadero o falso. ;D ;D ;D sera o no sera jajajajaja  :D q sigan las respuestas

gmadueno

  • Visitante
Re: Unidad minima en almacenamiento?
« Respuesta #2 : 14 de enero de 2008, 11:09:32 pm »
perfectamente bien contestado mi querido amigo Bruno! :)

pero necesito mas!.
Verdadero o Falso, negro o blanco, azul o amarillo. si estamos de acuerdo pero que mas! 

dame tu mejor golpe!!!!
les espero!.
  ;D

gmadueno

  • Visitante
Re: Unidad minima en almacenamiento?
« Respuesta #3 : 17 de enero de 2008, 06:14:51 am »
sigo esperando alguna respuesta pero parece que todavia no llega.
y mientras espero, aqui tengo algo que puede ayudarlos a refrescarse un poco! gracias a un amigo (m0rpheus).

pongan atencion que luego sigo con la tarea!!!! jajajajaja ;D y por supuesto si tienes una pregunta adelante!!! que los espero.

^:)^



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Sistemas numéricos

Los modernos equipos de cómputo actuales no utilizan el sistema decimal para representar valores numéricos, en su lugar se hace uso del sistema binario, también llamado complemento de dos. Es importante entender cómo representan las computadoras los valores numéricos, en éste capítulo analizaremos varios conceptos importantes incluyendo los sistemas binario y hexadecimal, la organización binaria de datos (bits, nibbles, bytes, palabras y palabras dobles), sistemas numéricos con signo y sin signo, operaciones aritméticas, lógicas, de cambio (shift) y rotación en valores binarios, campos de bits, empaquetado de datos y el juego de caracteres ASCII.

El sistema numérico decimal

Hemos utilizado el sistema decimal (de base 10) por tanto tiempo que prácticamente lo tomamos como algo natural. Cuando vemos un número, por ejemplo el 123, no pensamos en el valor en sí, en lugar de ésto hacemos una representación mental de cuántos elementos representa éste valor. En realidad, el número 123 representa:


1*102 + 2*101 + 3*100

ó lo que es lo mismo:


100 + 20 + 3

Cada dígito a la izquierda del punto decimal representa un valor entre cero y nueve veces una potencia incrementada de diez. Los dígitos a la derecha del punto decimal por su parte representan un valor entre cero y nueve veces una potencia decrementada de diez. Por ejemplo, el número 123.456 representa:


1*102 + 2*101 + 3*100 + 4*10-1 + 5*10-2 + 6*10-3

El sistema numérico binario

Los sistemas de cómputo modernos trabajan utilizando la lógica binaria. Las computadoras representan valores utilizando dos niveles de voltaje (generalmente 0V. y 5V.), con éstos niveles podemos representar exáctamente dos valores diferentes, por conveniencia utilizamos los valores cero y uno. Éstos dos valores por coincidencia corresponden a los dígitos utilizados por el sistema binario.
El sistema binario trabaja de forma similar al sistema decimal con dos diferencias, en el sistema binario sólo está permitido el uso de los dígitos 0 y 1 (en lugar de 0~9) y en el sistema binario se utilizan potencias de 2 en lugar de potencias de 10. De aquí tenemos que es muy fácil convertir un número binario a decimal, por cada "1" en la cadena binaria, sume 2n donde "n" es la posición del dígito binario a partir del punto decimal contando a partir de cero. Por ejemplo, el valor binario 110010102 representa:


1*27 + 1*26 + 0*25 + 0*24 + 1*23 + 0*22 + 1*21 + 0*20
=
128 + 64 + 8 + 2
=
20210

Para convertir un número decimal en binario es un poco más difícil. Se requiere encontrar aquellas potencias de 2 las cuales, sumadas, producen el resultado decimal, una forma conveniente es trabajar en "reversa" por ejemplo, para convertir el número 1359 a binario:

210=1024, 211=2048. Por tanto la mayor potencia de 2 menor que 1359 es 210. Restamos 1024 a 1359 y empezamos nuestro número binario poniendo un "1" a la izquierda. El resultado decimal es 1359-1024=335. El resultado binario hasta este punto es: 1.

La siguiente potencia de 2 en orden descendente es 29=512 lo que es mayor que el resultado de la resta del punto anterior, por lo tanto agregamos un 0 a nuestra cadena binaria, ahora es: 10. El resultado decimal es aún 335.

La siguiente potencia es 28=256 por lo que lo restamos a 335 y agregamos 1 a la cadena binaria: 101. El resultado decimal es: 79.

27=128, ésto es mayor que 79. Agregamos un 0 a la cadena binaria: 1010 en tanto que el valor decimal es: 79.

Restamos 26=64 a 79. La cadena binaria es ahora: 10101. El resultado decimal indica: 15.

15 es menor que 25=32, por tanto, Binario=101010, el valor decimal sigue siendo: 15.

15 es menor que 24=16, de aquí, Binario=1010100, el valor decimal continúa en: 15.

23=8 es menor que 15, así que agregamos un 1 a la cadena binaria: 10101001, en tanto que el nuevo valor decimal es: 7.

22 es menor que 7. Binario es ahora: 101010011, el resultado decimal ahora vale: 3.

21 es menor que 3. Binario=1010100111, el nuevo valor decimal es: 1.

Finalmente el resultado decimal es 1 lo que es igual a 20 por lo que agregamos un 1 a la cadena binaria. Nuestro resultado indica que el equivalente binario del número decimal 1359 es: 10101001111

Formatos binarios


En un sentido estricto, cada número binario contiene una cantidad infinita de dígitos, también llamados bits que es una abreviatura de binary digits, por ejemplo, podemos representar el número siete de las siguientes formas:

111

00000111

000000000000111
Por conveniencia ignoraremos cualquier cantidad de ceros a la izquierda, sin embargo, como las instrucciones compatibles con los procesadores Intel 80x86 trabajan con grupos de ocho bits a veces es más fácil extender la cantidad de ceros a la izquierda en un múltiplo de cuatro ú ocho bits, por ejemplo, el número siete podemos representarlo así: 01112 ó 000001112. También es conveniente separar en grupos de cuatro dígitos los número binarios grandes, por ejemplo, el valor binario 1010111110110010 puede ser escrito así 1010 1111 1011 0010. Además, en una cadena binaria asignaremos al dígito de la extrema derecha como el bit de posición cero y cada bit subsecuente se le asignará el siguiente número sucesivo, de ésta manera un valor binario de ocho bits utiliza los bits cero al siete:
X7 X6 X5 X4 X3 X2 X1 X0
Al bit cero se le conoce como el bit de bajo orden en tanto que al bit de la extrema izquierda diferente de cero se le llama bit de alto orden.

Organización de datos


En términos matemáticos un valor puede tomar un número arbitrario de bits, pero las computadoras por el contrario, generalmente trabajan con un número específico de bits, desde bits sencillos pasando por grupos de cuatro bits (llamados nibbles), grupos de ocho bits (bytes), grupos de 16 bits (words, ó palabras) y aún más. Como veremos mas adelante, existe una buena razón para utilizar éste orden.

Bits

La más pequeña cantidad de información en una computadora binaria es el bit, éste solamente es capaz de representar dos valores diferentes, sin embargo ésto no significa que exista una cantidad muy reducida de elementos representables por un bit, todo lo contrario, la cantidad de elementos que se pueden representar con un sólo bit es infinito, considere ésto, podemos representar por ejemplo, cero ó uno, verdadero ó falso, encendido ó apagado, masculino ó femenino. Más aún, no estamos limitados a representar elementos antagónicos, un bit sencillo puede representar cualesquiera dos valores, por ejemplo, blanco ó 432, perro ó caliente. Y para ir aún más lejos, dos bits adyacentes pueden representar cosas completamente independientes entre sí, lo que se debe tener en cuenta es que un bit sencillo sólo puede representar dos cosas a la vez. Esta característica otorga a las computadoras binarias un campo infinito de aplicaciones.

Nibbles
Un nibble es una colección de cuatro bits, ésto no representaría una estructura interesante si no fuera por dos razones: El Código Binario Decimal (BCD por sus siglas en inglés) y los números hexadecis. Se requieren cuatro bits para representar un sólo dígito BCD ó hexadecimal. Con un nibble se pueden representar 16 valores diferentes, en el caso de los números hexadecis, cuyos valores 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, y F son representados con cuatro bits. El BCD utiliza diez dígitos diferentes (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) e igualmente se requiere de cuatro bits. De hecho se puede representar 16 elementos diferentes con un sólo nibble pero los dígitos hexadecis y BCD son los principales representados por un nibble.

Bytes

Todavía se puede decir que el byte es la estructura de datos más importante utilizada por los procesadores 80x86. Un byte está compuesto de ocho bits y es el elemento de dato más pequeño direccionable por un procesador 80x86, ésto significa que la cantidad de datos más pequeña a la que se puede tener acceso en un programa es un valor de ocho bits. Los bits en un byte se enumeran del cero al siete de izquierda a derecha, el bit 0 es el bit de bajo orden ó el bit menos significativo mientras que el bit 7 es el bit de alto orden ó el bit más significativo. Nos referimos al resto de los bits por su número. Observe que un byte está compuesto de dos nibbles.
Como un byte contiene ocho bits, es posible representar 28, ó 256 valores diferentes. Generalmente utilizamos un byte para representar valores numéricos en el rango de 0 ~ 255, números con signo en el rango de -128 ~ +127, códigos de caracter ASCII y otros tipos de datos especiales que no requieran valores diferentes mayores que 256.

Words (palabras)

Una palabra (word) es un grupo de 16 bits enumerados de cero hasta quince, y al igual que el byte, el bit 0 es el bit de bajo orden en tanto que el número quince es el bit de alto orden. Una palabra contiene dos bytes, el de bajo orden que está compuesto por los bits 0 al 7, y el de alto orden en los bits 8 al 15. Naturalmente, una palabra puede descomponerse en cuatro nibbles. Con 16 bits es posible representar 216 (65,536) valores diferentes, éstos podrían ser el rengo comprendido entre 0 y 65,535, ó como suele ser el caso, de -32,768 hasta +32,767. También puede ser cualquier tipo de datos no superior a 65,536 valores diferentes.

sigue..............................................................

gmadueno

  • Visitante
Re: Unidad minima en almacenamiento?
« Respuesta #4 : 17 de enero de 2008, 06:18:14 am »
viene del anterior ;)

El sistema numérico hexadecimal[/b]

Un gran problema con el sistema binario es la verbosidad. Para representar el valor 20210 se requieren ocho dígitos binarios, la versión decimal sólo requiere de tres dígitos y por lo tanto los números se representan en forma mucho más compacta con respecto al sistema numérico binario. Desafortunadamente las computadoras trabajan en sistema binario y aunque es posible hacer la conversión entre decimal y binario, ya vimos que no es precisamente una tarea cómoda. El sistema de numeración hexadecimal, o sea de base 16, resuelve éste problema (es común abreviar hexadecimal como hex aunque hex significa base seis y no base dieciséis). El sistema hexadecimal es compacto y nos proporciona un mecanismo sencillo de conversión hacia el formato binario, debido a ésto, la mayoría del equipo de cómputo actual utiliza el sistema numérico hexadecimal. Como la base del sistema hexadecimal es 16, cada dígito a la izquierda del punto hexadecimal representa tantas veces un valor sucesivo potencia de 16, por ejemplo, el número 123416 es igual a:


1*163 + 2*162 + 3*161 + 4*160

lo que dá como resultado:


4096 + 512 + 48 + 4 = 466010

Cada dígito hexadecimal puede representar uno de dieciséis valores entre 0 y 1510. Como sólo tenemos diez dígitos decis, necesitamos "inventar" seis dígitos adicionales para representar los valores entre 1010 y 1510. En lugar de crear nuevos símbolos para éstos dígitos, utilizamos las letras A a la F. La conversión entre hexadecimal y binario es sencilla, considere la siguiente tabla:

Binario  Hexadecimal
0000  0
0001  1
0010  2
0011  3
0100  4
0101  5
0110  6
0111  7
1000  8
1001  9
1010  A
1011  B
1100  C
1101  D
1110  E
1111  F
Ésta tabla contiene toda la información necesaria para convertir de binario a hexadecimal y visceversa. Para convertir un número hexadecimal en binario, simplemente sustituya los correspondientes cuatro bits para cada dígito hexadecimal, por ejemplo, para convertir 0ABCDh en un valor binario:


0 A B C D (Hexadecimal)
0000 1010 1011 1100 1101 (Binario)

Por comodidad, todos los valores numéricos los empezaremos con un dígito decimal; los valores hexadecis terminan con la letra h y los valores binarios terminan con la letra b. La conversión de formato binario a hexadecimal es casi igual de fácil, en primer lugar necesitamos asegurar que la cantidad de dígitos en el valor binario es mútiple de 4, en caso contrario agregaremos ceros a la izquierda del valor, por ejemplo el número binario 1011001010, la primera etapa es agregarle dos ceros a la izquierda para que contenga doce ceros: 001011001010. La siguiente etapa es separar el valor binario en grupos de cuatro bits, así: 0010 1100 1010. Finalmente buscamos en la tabla de arriba los correspondientes valores hexadecis dando como resultado, 2CA, y siguiendo la convención establecida: 02CAh.

 
Operaciones aritméticas y lógicas

Existen varias operaciones aritméticas que se pueden ejecutar en números binarios y hexadecis, por ejemplo, podemos sumar, restar, multiplicar, dividir y otras operaciones aritméticas más, aunque es aconsejable que Usted sepa ejecutar éstas operaciones a mano, es más recomendable que haga uso de una calculadora apropiada, básicamente para evitar errores ya que nuestro pensamiento está condicionado por años al sistema numérico de base 10. Por otra parte, al intentar ejecutar una operación aritmética en formato binario es fácil caer en errores debido a la verbosidad mencionada, en éste caso es recomendable que primero haga la conversión a formato hexadecimal, ejecute las operaciones necesarias y finalmente vuelva a convertir el resultado a formato binario.

Operaciones lógicas en bits

Existen cuatro operaciones principales que Usted puede ejecutar en números binarios y hexadecis: AND, OR, XOR (OR exclusivo), y NOT. Al contrario de las operaciones aritméticas, no se requiere calculadora para ejecutar éstas operaciones, por lo general es más fácil y rápido ejecutarlas a mano que valiendose de una calculadora. La operación lógica AND es como sigue:

0 and 0 = 0
0 and 1 = 0
1 and 0 = 0
1 and 1 = 1

Las operaciones lógicas se pueden representar con una tabla llamada tabla de verdad, es parecida a las tablas aritméticas que sirven para sumar ó multiplicar, la columna de la izquierda y el renglón superior representan los valores de entrada de la operación especificada, el valor encontrado en la intersección de la columna y el renglón para un particular par de valores de entrada es el resultado de adicionar (ANDing) ambos valores. En palabras comunes, la operación AND se describe así, "si el primer valor y (and) el segundo valor son 1, el resultado es 1, caso contrario el resultado es 0".

AND  0  1
0  0  0
1  0  1

Un hecho importante acerca de la operación lógica AND es que se puede utilizar para forzar un resultado a cero, si uno de los operandos es cero, el resultado es siempre cero independientemente del otro operando, esto se puede verificar en la tabla de verdad de arriba en donde tanto el renglón como la columna que contienen ceros el resultado es cero, por el contrario, si uno de los operandos contiene 1, el resultado es exáctamente el valor del otro operando. Ésta característica de la operación lógica AND es muy importante, particularmente con cadenas de bits en donde deseamos forzar algún bit individual de la cadena a cero.

El operador lógico OR se define así:

0 OR 0 = 0
0 OR 1 = 1
1 OR 0 = 1
1 OR 1 = 1

La tabla de verdad tiene la siguiente forma:

OR  0  1
0  0  1
1  1  1

En palabras decimos: si el primero de los operandos ó (OR) el segundo de los operandos (ó ambos) es 1, el resultado es 1, de lo contrario el resultado es 0. A ésta operación lógica también se le conoce como OR inclusivo. Si uno de los operandos es uno, el resultado es siempre uno independientemente del valor del segundo operando, si uno de los operandos es cero, el resultado es siempre el valor del segundo operando. Ésto es importante como veremos más adelante.

La operación lógica XOR (OR exclusivo) se define así:

0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

La tabla de verdad es la siguiente:

XOR  0  1
0  0  1
1  1  0

Si el primer operando ó el segundo operando pero no ambos, es uno, el resultado es uno, de lo contrario el resultado es cero. Si uno de los operandos en la operación lógica OR exclusivo es uno, el resultado es siempre el inverso del otro operando. Ésta característica le permite invertir bits selectivamente en una cadena de bits.

El operador lógico NOT acepta solamente un operando y está definido como:

NOT 0 = 1
NOT 1 = 0

La tabla de verdad es la siguiente:

NOT  0  1
 1  0

Operaciones lógicas en números binarios y cadenas de bits
Como dijimos en la sección previa, las funciones lógicas trabajan sólo con operandos de un solo bit, como las computadoras utilizan grupos de ocho, dieciséis ó treinta y dos bits, necesitamos extender la definición de éstas funciones para trabajar con más de dos bits. Las funciones lógicas en los procesadores 80x86 operan en una base de bit por bit (en inglés es bitwise). Dados dos valores en determinada posición, las funciones producen el resultado de la respectiva posición, por ejemplo, para calcular la operación lógica AND en los siguientes dos números de ocho bits se debe ejecutar la operación lógica AND en cada columna, independientemente de las demás:


1011 0101
1110 1110
---------
1010 0100

Ésta forma de ejecutar bit por bit (bitwise) puede fácilmente ser aplicada a otras operaciones lógicas. Como hemos definido las operaciones lógicas en términos de valores binarios encontrará que es mucho más fácil de ésta manera que utilizando otras bases, por tanto es recomendable hacer la conversión a formato binario.


 
Números con signo y sin signo

Hasta éste momento, hemos tratado a los números binarios como valores sin signo, el número binario ...00000 representa al cero, ...00001 representa al uno, ...00010 representa al dos, y así seguido, pero ¿Qué hay con los números negativos? En ésta sección discutiremos cómo representar números negativos utilizando el sistema de numeración binario.
Para representar números con signo utilizando el sistema de numeración binario tenemos que colocar una restricción a nuestros números, éstos deben tener un número finito y fijo de bits. En lo que concierne a los procesadores 80x86 ésta restricción no es muy importante, después de todo, los 80x86 sólo pueden direccionar un número finito de bits. Para nuestros propósitos limitaremos el número de bits a ocho, 16, 32 ú otro número pequeño de bits.
Con un número fijo de bits sólo podemos representar un cierto número de objetos, por ejemplo, con ocho bits sólo podemos representar 256 objetos diferentes. Los valores negativos son objetos por su propio derecho al igual que los números positivos, por tanto necesitamos utilizar algunos de los 256 valores diferentes para representar a los números negativos, en otras palabras, utilizaremos algunos de los números positivos para representar números negativos, y aún más, asignaremos la mitad de las posibles combinaciones para los números negativos y la otra mitad para los números positivos. Así podemos representar los valores negativos que van del -128...-1 y los valores positivos del 0...127 con un solo byte de ocho bits. Con una palabra de 16 bits podemos representar valores en el rango de -32,768 hasta +32,767. Con una palabra doble de 32 bits se pueden representar valores que van de -2,147,483,648 hasta +2,147,483,647. En general, con n bits podemos representar los valores con signo en el rango comprendido entre -2n-1 hasta 2n-1-1.
Bien, ¿Cómo podemos representar valores negativos? Existen muchas formas pero los procesadores 80x86 utilizan la notación de complemento de dos, en éste sistema, el bit de alto orden de un número es el bit de signo. Si el bit de alto orden es cero el número es positivo, si el bit de alto orden es uno, el número es negativo. En el caso de un número positivo, éste es almacenado como un valor binario estándar, pero si el número es negativo éste es almacenado en la forma de complemento de dos, para ésto se utiliza el siguiente algoritmo:

Se invierten todos los bits en el número, es decir, se aplica la función lógica NOT.

Se agrega uno al resultado invertido.

Por ejemplo, para calcular el equivalente en ocho bits de -5:


0000 0101   cinco (en binario)
1111 1010   Se invierten todos los bits.
1111 1011   Se suma uno para obtener el resultado.

Si tomamos el valor de menos cinco y le ejecutamos la operación de complemento de dos obtenemos el valor original, como es de esperarse:


1111 1011   complemento de dos para -5.
0000 0100   se invierten todos los bits.
0000 0101   se suma uno para obtener el resultado (+5).


 
espero les guste!!!

123

  • Visitante
Re: Unidad minima en almacenamiento?
« Respuesta #5 : 20 de enero de 2008, 02:19:47 am »
 :D :D Gracias Jorge, por tomarte la molestia de subir este tema, estaba recordando los cursos de arimetica y electrónica digital de la academia, saludos amigo y estamos en contacto. Bye.

frank97

  • Administrador
  • Técnico Superior
  • *****
  • Mensajes: 1028
    • Tecnicos.cl
Re: Unidad minima en almacenamiento?
« Respuesta #6 : 24 de enero de 2008, 01:33:05 pm »
Muy buena la información..gracias...pero falta la respuesta a la pregunta   :)

Lo sentimos, contenido visible solo para nuestra Comunidad Tecnica Por favor ingresa o regístrese.

*********************

123

  • Visitante
Re: Unidad minima en almacenamiento?
« Respuesta #7 : 28 de julio de 2009, 12:41:59 am »
 :D  Un bit es la unidad mínima de información; en sistema binario: 0 ó 1, pero el byte es la unidad mínima de almacenamiento (8 bits), digamos que es algo así como "la unidad mínima que con la que el ordenador puede hacer algo", que puede procesar.

bit = unidad minima de informacion 
byte = unidad minima de almacenamiento(8 bits)


Saludos!