Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
32Activity
0 of .
Results for:
No results containing your search query
P. 1
Operadores Binarios

Operadores Binarios

Ratings:

4.0

(1)
|Views: 7,915 |Likes:
Bits
Bits

More info:

Published by: Profa Lucía Santeramo on Apr 28, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

07/07/2013

pdf

text

original

 
 República Bolivariana de Venezuela
Universidad Nacional Experimental Marítima del Caribe (UMC)
Coord. Ciencias Aplicadas – Ingeniería MarítimaInformática I – Prof. Lucía Santeramo
OPERADORES BINARIOS EN C++
C++ dispone de 6
operadores para manejo de bits
que realizan dos tipos de operaciones: 
(
) Complemento a uno
(
<<
) Desplazamiento a izquierda
(
>>
) Desplazamiento a derecha
(
&
) AND, compara dos bits
(
^
 
) XOR (OR exclusivo), compara dos bits
(
|
) OR inclusivo, compara dos bits(
)
Complemento a uno. Sintaxis
: ~cast-expresion. Este operador unitario invierte cada bit del operando. 0 esconvertido en 1 y viceversa.
Representación binariaInvertidoProcesoResultado
0 = = 0000 0000~ 0 = = 1111 1111-1 = = 1111 1110 + 0000 0001 = = 1111 1111~ 0 = = -11 = = 0000 0001~ 1 = = 1111 1110-2 = = 1111 1101 + 0000 0001 = = 1111 1110~ 1 = = -22 = = 0000 0010~ 2 = = 1111 1101-3 = = 1111 1100 + 0000 0001 = = 1111 1101~ 2 = = -3
#include <iostream.h>
short
 
signed 
cero = 0, uno = 1, dos = 2;
int
main (
 void 
) {cout << "~0 == " << ~cero << endl;cout << "~1 == " << ~uno << endl;cout << "~2 == " << ~dos << endl; }
(
<<
)
 Desplazamiento a izquierda. Sintaxis
: expr-desplazada << expr-desplazamiento. Este operador binario realiza undesplazamiento de bits a la izquierda. El bit más significativo (más a la izquierda) se pierde, y se le asigna un 0 al menossignificativo (el de la derecha). El operando derecho indica el número de desplazamientos que se realizarán. Losdesplazamientos
no
son rotaciones, los bits que salen por la izquierda se pierden, los que entran por la derecha serellenan con ceros. Este tipo de desplazamientos se denominan lógicos en contraposición a los cíclicos o rotacionales.
0 = = 0000 00000 << 1 = = 0000 0000 = = 01 = = 0000 00011 << 1 = = 0000 0010 = = 22 = = 0000 00102 << 1 = = 0000 0100 = = 4-3 = = 1111 1101-3 << 1 = = 1111 1010 = = - 6
(
>>
)
 Desplazamiento a derecha
.
Sintaxis
:
 
expr-desplazada >> expr-desplazamiento. El patrón de bits de expr-desplazada sufre un desplazamiento derecho del valor indicado por la expr-desplazamiento. Como en el caso anterior,ambos operandos deben ser números enteros o enumeraciones. En caso contrario, el compilador realiza una conversiónautomática de tipo. El resultado es del tipo del primer operando. Una vez promovida a entero, expr-desplazamiento debeser un entero positivo y menor que la longitud del primer operando. En caso contrario, el resultado es indefinido(depende de la implementación). El bit menos significativo (a la derecha) se pierde, pero hay que advertir que si expr-desplazada es un entero con signo y es negativo, el resultado depende de la implementación.
0 = = 0000 00000 >>1 = = 0000 0000 = = 02 = = 0000 00102 >> 1 = = 0000 0001 = = 1-2 = = 1111 1110 -2 >> 1 = = 1111 1111 = = -1-16 = = 1111 0000-16 >> 2 = = 1111 1100 = = -4
#include <iostream.h>short signed cero = 0, uno = 1, dos = 2;int main (void) {cout << "0 << 1 == " << (cero << 1) << endl;cout << "1 << 1 == " << (uno<< 1) << endl;cout << "2 << 1 == " << (dos << 1) << endl; }#include <iostream.h>short signed cero = 0, dos = 2, mdos = -2;int main (void) {cout << "0 >> 1 == " << (cero >> 1) << endl;cout << "2 >> 1 == " << (dos >> 1) << endl;cout << "-2 >> 1 == " << (mdos >> 1) << endl; }

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->