Learn how Java supports bitwise arithmetic and where these tricks are used in the Java Development Kit (JDK)

  Enroll in Course

"I have been teaching Java to professional programmers for over 19 years. During this time, I am constantly amazed how many programmers have moved over from other disciplines such as psychology, architecture, chemistry, accounting and even the military. Whilst fine programmers, they often miss some of the more fundamental education that a computer science major would have covered. I am hoping that this Bits & Bytes Course will help fill this gap and will result in a better tomorrow with programmers that are more able to understand what makes our world work. In the end, it's all just ones and zeros." - Dr Heinz M. Kabutz, Author of The Java Specialists Newsletter, Java Champion, JavaOne Rockstar Speaker, Computer Scientist, Teacher

In this course you will learn how to:

1. convert between different bases, such as octal, decimal, hexadecimal and binary.
2. do bitwise arithmetic with AND, OR, XOR and COMPLEMENT
3. shift bits left and right and what the difference is between unsigned and signed shift
4. print the internals of int and float.
5. negate a number using 2's complement and why Math.abs(n) might be negative
6. understand rounding errors and how represent decimal numbers in binary.
7. write a great hashCode() method in Java with the least number of bucket collisions.
8. compare BitSet with EnumSet and discover practical use cases in the JDK.

Bits&Bytes has 3 1/2 hours of lectures by renowned computer expert Dr Heinz Kabutz. Read what some of his readers had to say about his work:

Henri Tremblay - "I've been coding in Java since 1998. And still, everytime I read the Java Specialists Newsletter, I learn something."
Simon Ritter - "Heinz gives well researched clear explanations and guidance on many tricky aspects of Java. A goldmine of useful information!"
John Green - "I enjoyed this course even though I thought I knew everything I needed to know about bits and bytes. In fact, I thought that I probably didn't need to use low level knowledge like this in Java - that I could leave it to C programmers ;-) Instead, I've found not just that it is still very much in use by JDK developers, even code added to Java 9, but that I should probably read more on floating point numbers before I can consider my knowledge to be complete. The practical tips on hashing and bit sets will be useful for programming in future."

Are you ready to join our course?

Here are some more reasons

1. Ask questions in the course material and get a guaranteed response from the course author within three working days or your money back.

2. Simple no-nonsense 30-day money back guarantee, no questions asked.

3. Invite to private Facebook group with Heinz Kabutz and other students

Your Instructor

Dr Heinz M. Kabutz
Dr Heinz M. Kabutz

Class Curriculum

Frequently Asked Questions

When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Can I pay via PayPal?
Yes, you can for courses priced in US$ and that do not have recurring payments.
Where do I enter my company details?
We usually suggest that you enter them in the "Full Name" field, together with your name and your company VAT number. Be sure to also enter the VAT number in the appropriate field if your company is registered in the EU. We can accept direct payments and issue company invoices for orders larger than $1500.

Get started now!