UGN Security Forums
My ProfileMember DirectoryLogin
Search our ForumsView our FAQView our Site Rules
View our CalendarView our Active TopicsGo to our Main Page

UGN Security Store
 

Network Sites UGN Security, The GoNix Initiative, Elite Web Gamers, Back of the Web, EveryDay Helper, VNC Web Design & Development
Sponsored Links
Latest Postings
The History Thread...
by Gremelin
09/18/14 12:42 PM
Doom 3
by Cyrez
09/11/14 11:58 PM
Latest Reviews
Topic Options
Rate This Topic
#19066 - 01/03/04 03:22 AM Java question, Pergesu where are you!!!
§intå× Offline


*****

Registered: 12/03/02
Posts: 3255
Loc: Maryland
I am studying java, actually I am taking a CBT course through work. I am studying shift opperators and do not understand quite how I would use this in code. Now this sounds most handy for something like encryption, but how to I get access to the acctual stream of 1's and 0's in the data stream?

<< and >> and >>>

Please give an example of when I would use this.
_________________________
My New site OpenEyes

Top
Sponsored Links
      
#19067 - 01/03/04 03:23 AM Re: Java question, Pergesu where are you!!!
§intå× Offline


*****

Registered: 12/03/02
Posts: 3255
Loc: Maryland
Also The course is saying the << is use for when doing multiplication by 2 and >> is useful when doing division by 2. why not just int*2 and int/2
_________________________
My New site OpenEyes

Top
#19068 - 01/03/04 05:25 PM Re: Java question, Pergesu where are you!!!
vooduhal Offline
Junior Member

Registered: 01/02/04
Posts: 6
Loc: TN, USA
Let me give you an example of how this could be useful. I wrote this a while back for a goofy little programming language. The language is c but it still applies.
Code:
#define CHAR_LENGTH 8


// char *CharToBinary(char a_chChar)
// Accepts:  A single character
// Returns:  The binary string equivalent of the the input character
// Purpose:  Converts the given char to its binary string format
char *char2binary(char a_chChar) {
	char 	 *p_chBuffer = (char *)malloc(CHAR_LENGTH); 	// This will hold our converted buffer
	int	 intCtr=0; 		// You can figure this one out
	
	// Now let's just loop through each bit
	for(intCtr=0; intCtr<CHAR_LENGTH; intCtr++) 
		// We are just going to use a binary & to determine the value of each bit
		p_chBuffer[7 - intCtr] = (((a_chChar & (1 << intCtr)) == ( 1 << intCtr)) ? 0x31 : 0x30);
	
	// Ok we're done
	return p_chBuffer;
}	
Hope that helps. Basically, realizes that each bit can be seperated by using powers of 2, ie. 00000010 = 2, 00000100 = 4 etc. I use that fact to create a quick little loop to break the byte down. Let me know if you need any explanation.

Top
#19069 - 01/04/04 09:38 AM Re: Java question, Pergesu where are you!!!
pergesu Offline
UGN Elite Poster

Registered: 03/14/02
Posts: 1136
Loc: Pimpin the Colorizzle
Alright, here's a quick example.

Code:
public class test {
        public static void main(String args[]) {
                int i = 5 << 4;
                System.out.println(i);
        }
}
The << operator in this case is used to multiply 5 by 2^4, which is 16. Thus the output is 80.

5 * [2^4]

Likewise, the >> operator would be used to multiply the left value by 2^rvalue.

You very rarely use either of these. They're useful if you need to multiply or divide by a power of 2. Otherwise, you don't use them.

To be honest, I've never used the >>> operator, and don't know what it does off the top of my head.

Using bitshift operators on data streams is pointless, as well as bad practice. You should use the methods provided by the stream classes to access data.

In five years of doing Java coding, I don't believe I've ever used any of these operators. So I really don't know too much about them, except that basic example I gave above. Just goes to show how useful they really are *wink* since for some reason I can't use a parentheses

Top

Moderator:  §intå×, Gremelin 
Featured Member
Registered: 08/22/14
Posts: 1
Forum Stats
2148 Members
46 Forums
34735 Topics
69905 Posts

Max Online: 1567 @ 04/25/10 05:20 AM
Top Posters
UGN Security 27897
Gremelin 7193
§intå× 3255
SilentRage 1273
Ice 1146
pergesu 1136
Infinite 1041
jonconley 955
Girlie 908
unreal 860
Newest Members
Tim050, Gecko666, defghi795767, Devo60, ali
2148 Registered Users
Who's Online
0 registered (), 428 Guests and 281 Spiders online.
Key: Admin, Global Mod, Mod
Latest News


Donate
  Get Firefox!
Get FireFox!