You are on page 1of 21

UNIVERSIDAD DE CUENCA

TRABAJO DE: METODOS NUMERICOS


TEMA: MANEJO DE BITS Y
EXCEPCIONES
AUTOR: CHRISTIAN ESTRELLA
PROFESOR: ING. FABIAN ASTUDILLO

MANEJO DE BITS EN
MATLAB

Existen varios comandos en MATLAB que nos


permiten obtener determinadas operaciones o
funciones en dicho software.

A continuacin vamos a ver las mas


importantes en lo que a manejo de bits se
refiere

BITAND
C = bitand (A, B)

devuelve las funciones AND de dos argumentos enteros positivos A


y B.

ejemplo:
Las representaciones binarias de cinco bits de los nmeros enteros 13
y 27 son en binario 01101 y 11011 , respectivamente.
Ejecutando el comando BITAND en estos nmeros devuelve 01001 en
binario o 9 en decimal.
C = bitand(13,27)
C =9

BITCMP
C = bitcmp(A,n)

devuelve el complemento de A como un entero en coma flotante


de n bits

ejemplo
Con aritmtica de ocho bits, el complemento de 01100011 (99 en
decimal) es 10011100 (156 en decimal).
C = bitcmp(99,8)
C =156

BITGET
C = bitget(A,bit)

devuelve el valor del bit en el bit posicin de A. el valor de A debe ser


un entero positivo , y el bit debe ser un nmero entre 1 y el nmero
entero de punto flotante de A.

ejemplo:
La funcin DEC2BIN convierte nmeros decimales a binario. Sin embargo,
tambin puede utilizar la funcin bitget para mostrar la representacin
binaria de un nmero decimal. Slo se debe probar bits sucesivos del bit
ms significativo a menos significativo
disp(dec2bin(13))
1101
C = bitget(13,4:-1:1)
C=

BITMAX

Bitmax

devuelve el nmero entero mximo de punto


flotante sin signo para el computador.
representa el valor cuando se establecen todos
los bits. En IEEE es el valor

BITOR
C = bitor(A,B)

devuelve la funcin OR de dos argumentos enteros


positivos A y B.

ejemplo:
Las representaciones binarias de cinco bits de los nmeros
enteros 13 y 27 son 01101 y 11011 , respectivamente.
Realizando la funcion OR en estos nmeros produce 11111 ,
o 31 en decimal.

BITSET
C = bitset(A,bit)
C = bitset(A,bit,v)

C = bitset (A, bit) establece la posicin del bit de A a 1. A debe ser un entero
positivo y tiene que ser un nmero entre 1 y el nmero de bits en la
representacin de punto flotante de A.

C = bitset (A, bits, v) establece la posicin del bit para el valor v, que debe ser
0o1.

Ejemplo
Ajustando el quinto bit en la representacin binaria de cinco bits del entero 9
( 01001 ) produce 11001 o 25 en decimal
C = bitset(9,5)
C =25

BITXOR
C = bitxor(A,B)

devuelve la funcin XOR de los dos argumentos A y B.


Tanto A como B deben ser enteros.

Ejemplo:
Las representaciones binarias de cinco bits de los nmeros
enteros 13 y 27 son 01101 y 11011, respectivamente.
Realizando la funcin XOR bit a bit en estos nmeros nos
da 10110 o 22 en decimal

BITSHIFT
C = bitshift(A,k,n)
C = bitshift(A,k)

devuelve el valor de A desplazado por k bits . Si k> 0 , esta es la misma


que una multiplicacin por 2k ( desplazamiento a la izquierda ). Si k < 0 ,
esta es la misma que una divisin para 2K (desplazamiento a la derecha).
Un clculo equivalente para esta funcin es:
C = fix(A*2^k).

Si el desplazamiento C provoca desborde n bits, los bits desbordantes se


dejan caer. A debe contener enteros positivos entre 0 y BITMAX.
C = BitShift (A, k ) utiliza el valor por defecto de n = 53

Ejemplo
Desplazando 1100 ( 12 en decimal ) a la izquierda dos bits produce 110000
(48 en decimal).

EXCEPCIONES EN
MATLAB

Cualquier cdigo que detecta un error y se


produce una excepcin debe construir un objeto
MException.

Esta clase contiene informacin sobre los


errores recuperables. MATLAB puede lanzar
bien excepciones o excepciones que el usuario
construye.

CONSTRUCCION
ME = Mexception (msgID ,msgtext)
captura informacin sobre un error y lo almacena en el objeto
MException. El objeto MException se construye con un
identificador de mensaje, msgID y una cadena de mensaje de
error msgtext .

ME = MException( msgID , msgtext , A1,...,An )


permite el formato de la cadena de mensaje de error
utilizando los valores de texto o numricos, A1,...,An , en
sustitucin de especificadores de conversin en msgtext en
tiempo de ejecucin.

PROPIEDADES

identifier - Identificador nico de error (string)

es una cadena que identifica de forma exclusiva el error,


especificado como un argumento de entrada por msgID .
Esta propiedad es de slo lectura.

message - Mensaje de error (string)

es una cadena que contiene el mensaje de error que se


muestra cuando MATLAB lanza la excepcin, a msgtext y
(A1,...,An) son los argumentos de entrada. Esta propiedad es
de slo lectura.

stack - Pila informacin de rastreo (matriz de estructuras)

es la matriz que contiene la informacin de rastreo de pila


incluyendo el nombre del archivo (file), nombre de la
funcin (name), y el nmero de lnea (line) donde MATLAB
lanza la excepcin.
Si se produce el error en una funcin llamada, la stack
tambin contiene el nombre de archivo, nombre de la
funcin, y el nmero de lnea para cada una de las
funciones llamadas. MATLAB genera la pila slo cuando se
produce la excepcin.

cause - Causa de la excepcin

es una Matriz de clulas de objetos MException que


causaron que MATLAB
cree esta excepcin. Utilice el
mtodo addCause para agregar una excepcin al campo
cause de la otra excepcin.

METODOS

addCause:adiciona causas de registro de excepcin

getReport: Recibe mensaje de error de excepcin

last:

rethrow:

throw: lanza excepcion

throwAsCaller: lanza la excepcin como si se produce dentro


de la funcin que llama.

Vuelve a ltima excepcin no detectada


Vuelve a emitir excepcin detectada previamente

EJEMPLOS:

Crear objeto MException

Crear MException con mensaje de error con


formato

Crear y lanzar objetos MException

Lanza una excepcin si un nombre de variable de


entrada no existe en el workspace.

try / catch para capturar Excepcin

CONCLUSIONES

Al finalizar la presentacin aprendimos


los distintos tipos de comandos que
podemos encontrar en MATLAB para
gestionar los bits y su posicionamiento.

Tambin aprendimos como construir


excepciones en Matlab para un correcto
manejo de errores en el programa.

BIBLIOGRAFIA

http://www.mathworks.com/help/matlab
/ref/bitand.

http://cens.ioc.ee/local/man/matlab/tech
doc/ref/bitcmp.html

You might also like