what is this mean ">>"?

Posted on 2006-11-14
Last Modified: 2011-09-20
i have this code from my old colleague, can anyone tell me what does this means?

abyLic[4] = (byte) (iLicenseID);
        abyLic[5] = (byte) (iLicenseID >> 8);
        abyLic[6] = (byte) (iLicenseID >> 16);
        abyLic[7] = (byte) (iLicenseID >> 24);
        abyLic[8] = (byte) (iSMSCounter);
        abyLic[9] = (byte) (iSMSCounter >> 8);

the abyLic[] is an array and the iLicenseID is int.

what doest that mean by iLicenseId >> 8 ??
is that he is trying to set the value to 8 in abyLic[5]?
Question by:taiping
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +1
LVL 86

Expert Comment

ID: 17945013
Shift right operator

LVL 23

Expert Comment

ID: 17945014
bitwise shift
LVL 86

Expert Comment

ID: 17945018
Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

LVL 35

Accepted Solution

girionis earned 125 total points
ID: 17946486
Just to fill up with what the other experts suggested

>what doest that mean by iLicenseId >> 8 ??

The ">>" is a binary operator and it means "right shift the value in the "iLicensedId" eight times". The value of "iLicencedId" is an integer. When you right shift a value you make it smaller. For example if the "iLicencedId" holds the value of 512, which in *binary* it is 000100000000, and you right shift 8 times, it becomes 000000000010 (=2 in decimal). As you see you can see the digit 1 is moved 8 positions to the right. This is what the >> operator is doing, it moves the digits to the right.

> is that he is trying to set the value to 8 in abyLic[5]?

No, he is setting the *converted* value (the one that was shifted to the right 8 times), i.e. the result of the right-shift operation, to the 6th position os the "abyLic" array
LVL 35

Expert Comment

ID: 17946495
Sorry the 512 binary should be 001000000000.
LVL 86

Expert Comment

ID: 17953872
taiping - why did you ignore previous correct answers?

Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question