# Understanding Bitshift Operations

A short and beginner-friendly course on bitshift operations and how they are used in game programming
English
English [Auto]
How bitshifting is used in game programming
The math behind shift left and shift right
The difference between arithmetic and logical shifts

## Requirements

• A simple understanding of basic programming (variables, if-else, loops, etc)

## Description

This is a short course that covers the fundamental ideas behind bitshifting, bitshift operators, and where it is used in the context of game programming.

This is a beginner-friendly course that has no real pre-requisites. We will start from the basics, analyzing the mathematics of how numbers work, and translate what we learn from the decimal system to the binary system.

We will analyze the real applications of bitshifting, understand why the math works, and review a couple of examples of source code that use bitshifting.

The course covers:

• The math behind multiplication and division by the base in the decimal system

• The math behind multiplication and division by the base in binary

• The difference between left shift and right shift

• Bitshift operators as processor instructions

• Bitshift operators in high-level languages

• Arithmetic and logical shifts

• Examples of source code applications

· Review of relevance and applications of bitshifting operations in software development

Bitshifting was very popular in early games. We will also discuss their current relevance and when we should consider using them in modern code.

There are no hardware or programming language requirements for this course. If you program in any high-level language (C, C++, Java, Python, Rust, etc) you will be able to follow along and understand how bitshifting works. But if you want to follow along and check the example source code, you'll need a basic code editor and a compiler.

## Who this course is for:

• Programmers who want to learn how bitshifting works
• Programmers curious about the use of bitshifting in game development

## Course content

5 sections10 lectures1h 6m total length
• Introduction and Motivations
02:54

## Instructor

University Lecturer
• 4.7 Instructor Rating
• 2,971 Reviews
• 21,548 Students
• 4 Courses

Hello everyone,

My name is Gustavo Pezzi, and I am a university lecturer at BPP University, London.

I teach fundamentals of computer science, low-level programming, and mathematics. I have several years of professional experience and my academic path includes institutions such as Pittsburg State University, City University of London, and University of Oxford.

But after all is said and done, I'm just a guy who loves to teach.