Solved

what is this mean ">>"?

Posted on 2006-11-14
8
205 Views
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]?
0
Comment
Question by:taiping
[X]
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
8 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 17945013
Shift right operator

0
 
LVL 23

Expert Comment

by:Ajay-Singh
ID: 17945014
bitwise shift
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 17945018
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 92

Expert Comment

by:objects
ID: 17945183
0
 
LVL 92

Expert Comment

by:objects
ID: 17945184
0
 
LVL 35

Accepted Solution

by:
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
0
 
LVL 35

Expert Comment

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

Expert Comment

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

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
This video teaches viewers about errors in exception handling.
Suggested Courses

734 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