SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: GTow en Martes 28 de Octubre de 2003, 22:48

Título: Re: Comando que desconozco
Publicado por: GTow en Martes 28 de Octubre de 2003, 22:48
Hola, estoy trabajando con un código y hay una sentencia que no comprendo lo que hace, es >> en C, pero parece que no tiene que ver con mayor, adjunto la linea de codigo a ver si alguien puede decirme lo que és:
for (j=0; j<ancho>>1); j++)
donde ancho es un entero.

Gracias de antemano y un saludo
Título: Re: Comando que desconozco
Publicado por: Astor en Miércoles 29 de Octubre de 2003, 00:29
los operadores << >> se los llaman Shift hacia izquierda y derecha respectivamente.
Lo que hacen es como rotar los bits del numero. En verdad al rotar, por ejemplo un lugar los bits que salen por la izquierda entran por la derecha, en cambio al shiftear no.

por ej:

11111111 << 3
quedaria
11111000

o

11111111 >> 1
daria
01111111

Shiftear 1 hacia la derecha (que es lo que hace tu codigo) es lo mismo que dividir por 2.
Título: Comando que desconozco
Publicado por: GTow en Miércoles 29 de Octubre de 2003, 16:59
OK, enterado muchas gracias! :beer: