You are on page 1of 14

MANEJO DE BITS

Lenguajes de programacin LPSI EUI UPM

OPERADORES
Operan bit a bit
Las operaciones a nivel de bit son dependientes
de la mquina

Operador & (AND lgico de bits)


204 & 121 -> 72
11001100
& 01111001
0100 1000
Lenguajes de programacin LPSI EUI UPM

OPERADORES
Operador

| (OR lgico de bits):

204 & 121 -> 253


11001100
| 01111001
11111101

Lenguajes de programacin LPSI EUI UPM

OPERADORES
Operador ^ (OR exclusivo de bits):
204 ^ 121 -> 181
11001100
^ 01111001
10 110101

Lenguajes de programacin LPSI EUI UPM

OPERADORES
Operador ~

~ 204 -> 51
~ 11001100

(ALT+126)

(complemento a 1):

-> 0 0 1 1 0 0 1 1

Lenguajes de programacin LPSI EUI UPM

OPERADORES
Operador >> (desplazamiento a la dcha):
V >> n

desplaza V n bits a la dcha,


rellenando con ceros por la
izda

204 >> 3 -> 25


1 1 0 0 1 1 0 0 >> 3 -> 0 0 0 1 1 0 0 1

Lenguajes de programacin LPSI EUI UPM

OPERADORES
Operador << (desplazamiento a la izda):
V << n

desplaza V n bits a la izda,


rellenando con ceros por la
dcha

204 << 3 -> 96


1 1 0 0 1 1 0 0 << 3 -> 0 1 1 0 0 0 0 0

Lenguajes de programacin LPSI EUI UPM

OPERADORES
Asignaciones:
&=
|=
^=
>>=
<<=

a &= b
a |= b
a ^= b
a >>= b
a <<= b

a=a&b
a=a|b
a=a^b
a = a >> b
a = a << b

Lenguajes de programacin LPSI EUI UPM

operador

asociatividad

() [ ] . ->
id
! ++ -- - (tipo) sizeof di
&*~
*/%
id
+id
<< >>
id
< <= > >=
id
== !=
id
&
id
^
id
|
id
&&
id
||
id
?:
di
= += -= *= /= %= &= |= ^= <<= >>= d

Lenguajes de programacin LPSI EUI UPM

EJERCICIOS
Escribir una funcin que, pasndole un
carcter, imprima la representacin binaria del
mismo.
Escribir una funcin que, recibiendo como
parmetro un entero sin signo, devuelva como
resultado un entero resultante de cambiar los
bits al pasado como parmetro.
Escribir una funcin que, pasndole un entero
sin signo, le cambie los bits y, adems, lo
devuelva como resultado.

Lenguajes de programacin LPSI EUI UPM

EJERCICIOS
Escribir una funcin que, recibiendo como
parmetros un array de enteros y la
dimensin del array, devuelva como
resultado el nmero total de bits a 1 que
hay en el array.
Escribir una funcin que, pasndole como
parmetro un array de n cadenas de
caracteres (n se pasa como parmetro
tambin), devuelva la cadena con mayor
nmero de bits a 1.

Lenguajes de programacin LPSI EUI UPM

EJERCICIOS
Escribir una funcin que, recibiendo
como parmetro un entero long,
devuelva otro long resultante de copiar
los bits que ocupan posiciones impares
del nmero pasado como parmetro y
poner a cero los bits pares.

Lenguajes de programacin LPSI EUI UPM

EJERCICIOS
Escribir
Escribir una
una funcin
funcin que,
que, recibiendo
recibiendo como
dos
parmetros
dos cadenas
de caracteres,
nmeros enteros,
intercambie
entre s los
devuelva
un nmero
positivo
8 bits de mayor
peso negativo,
del primero
con loso 8
cero,
funcin
de del
quesegundo.
la primera cadena
bits deenmenor
peso
menos,
ms o igual
nmero de como
bits
tenga
Escribir
una funcin
que recibiendo
aparmetro
0 que la segunda.
un long double, devuelva a
partir
Escribir
programa
lea un nmero
de un
l una
cadenaque
de caracteres
entero
y undevalor
n, entre
2 ybyte
10, del
ponga a
resultante
convertir
cada
cero
los en
n bits
centralesdedellanmero
nmero
un carcter
cadena, ledo
yempezando
muestre elpor
resultado
por pantalla.
los de menor
peso.

Lenguajes de programacin LPSI EUI UPM

You might also like