Jump to content
Sign in to follow this  
J.D.S

Que signifiica "<<"???

Recommended Posts

J.D.S

Oi ppl!! Sou novo aqui no forum, e estou a aprender a programar em C... Há pouco tava a ler um codigo fonte e deparei-me com esta condição:

(n == (1 << 0))

Alguem me pode explicar o significado das "<<"??

Abraços

Share this post


Link to post
Share on other sites
Ricardo

Isso refere-se ao operador 'Shift Left', ou seja corresponde a um deslocamento binário do valor.

Por exemplo:

se tens:

x = 4 = 0000 0100

e fazes "<< 2" no x, ficas com:

x = 16 = 0001 0000

ou seja deslocaste 2 bits no valor de x.

Em C existem mais operadores do mesmo tipo (operadores ao bit), o '&', o '|', '>>', etc...

Share this post


Link to post
Share on other sites
vbmaster

<< tanto pode ser um operador insersor como pode ser um 'left shift'.

Neste caso parece-me estar em função de left shit, e se não tou com uma grande moka, penso que tem a ver com elevar ao quadrado esse número ou que é....é assim qualquer coisa parecida.

Isto em c++, em c não deve se rmuito diferente.

Alguém que explique melhor please!

Share this post


Link to post
Share on other sites
vbmaster

No fundo era mais ou menos o que estava a dizer, elevar ao quadrado o número se o left shift for de 2.

Share this post


Link to post
Share on other sites
Ricardo

Sim o vbmaster tem razão, a operação 'shift left N' (<< N) equivale a multiplicar o numero por 2^N.

No caso base temos 2^0 = 1, o que faz com que fazer '<<0' seja o mesmo que multiplicar um numero por 1.

Abraços!!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.