KoderSolution Logo
HomeArticlesTutorialsForumAI LabRun Code
KoderSolution Logo

The world’s most advanced technical ecosystem for modern software engineers. Learn, build, and grow with next-generation developer tools and resources.

Engineering Newsletter

Join 100,000+ engineers receiving curated high-signal content weekly.

Platforms

  • Technical Articles
  • Interactive Tutorials
  • AI Coding Lab
  • Developer Forum
  • Developer Tools

Pages

  • About Us
  • Contact Us
  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Disclaimer
  • Advertisement

Popular Topics

  • PHP
  • Laravel
  • Python
  • React.Js
  • MySQL
© 2026 KoderSolutionAll Rights Reserved
Developed Bymaksudur.dev
⚡

JavaScript

Topic Hub & Articles

JS Introduction

10 min

JS Where To

10 min

JS Output

10 min

Recap Quiz

5 Questions

JS Statements

10 min

JS Syntax

10 min

JS Comments

10 min

Recap Quiz

5 Questions

JS Variables

10 min

JS Let

10 min

JS Const

10 min

Recap Quiz

5 Questions

JS Operators

10 min

JS Arithmetic

10 min

JS Assignment

10 min

Recap Quiz

5 Questions

JS Data Types

10 min

JS Functions

10 min

JS Objects

10 min

Recap Quiz

5 Questions

JS Events

10 min

JS Strings

10 min

JS String Methods

10 min

Recap Quiz

5 Questions

JS String Search

10 min

JS String Templates

10 min

JS Numbers

10 min

Recap Quiz

5 Questions

JS Number Methods

10 min

JS BigInt

10 min

JS Arrays

10 min

Recap Quiz

5 Questions

JS Array Methods

10 min

JS Array Search

10 min

JS Array Sort

10 min

Recap Quiz

5 Questions

JS Array Iteration

10 min

JS Array Const

10 min

JS Dates

10 min

Recap Quiz

5 Questions

JS Date Formats

10 min

JS Date Get Methods

10 min

JS Date Set Methods

10 min

Recap Quiz

5 Questions

JS Math

10 min

JS Random

10 min

JS Booleans

10 min

Recap Quiz

5 Questions

JS Comparisons

10 min

JS If Else

10 min

JS Switch

10 min

Recap Quiz

5 Questions

JS Loop For

10 min

JS Loop For In

10 min

JS Loop For Of

10 min

Recap Quiz

5 Questions

JS Loop While

10 min

JS Break

10 min

JS Iterables

10 min

Recap Quiz

5 Questions

JS Sets

10 min

JS Maps

10 min

JS TypeOf

10 min

Recap Quiz

5 Questions

JS Type Conversion

10 min

JS Destructuring

10 min

JS Bitwise

10 min

Recap Quiz

5 Questions

JS RegExp

10 min

JS Errors

10 min

JS Scope

10 min

Recap Quiz

5 Questions

JS Hoisting

10 min

JS Strict Mode

10 min

JS This Keyword

10 min

Recap Quiz

5 Questions

JS Arrow Function

10 min

JS Classes

10 min

JS Modules

10 min

Recap Quiz

5 Questions

JS JSON

10 min

JS Debugging

10 min

JS Best Practices

10 min

Recap Quiz

5 Questions

JS Common Mistakes

10 min

JS Performance

10 min

JS Reserved Words

10 min

Recap Quiz

5 Questions

DOM Intro

10 min

DOM Methods

10 min

DOM Document

10 min

Recap Quiz

5 Questions

DOM Elements

10 min

DOM HTML

10 min

DOM Forms

10 min

Recap Quiz

5 Questions

DOM CSS

10 min

DOM Animation

10 min

DOM Events

10 min

Recap Quiz

5 Questions

DOM Event Listener

10 min

DOM Navigation

10 min

DOM Nodes

10 min

Recap Quiz

5 Questions

DOM Collections

10 min

DOM Node List

10 min

JS Window

10 min

JS Screen

10 min

JS Location

10 min

Recap Quiz

5 Questions

JS History

10 min

JS Navigator

10 min

JS Popup Alert

10 min

Recap Quiz

5 Questions

JS Timing

10 min

JS Cookies

10 min

JS Callbacks

10 min

JS Asynchronous

10 min

JS Promises

10 min

Recap Quiz

5 Questions

JS Async/Await

10 min

Progress
0%

0 / 92 Lessons

JavaScriptJS Tutorial
Lesson

JS Bitwise

10 min reading
Free Course

JavaScript Bitwise: Operators, Binary Representation, & Bit Flags

Bitwise operators treat their operands as 32-bit binary integers (zeros and ones) rather than standard floating-point numbers, performing operations directly at the bit level.

Bitwise Operators Reference

flowchart LR
    BitOps["Bitwise Operators (32-Bit Integers)"] --> AND["Bitwise AND (&)"]
    BitOps --> OR["Bitwise OR (|)"]
    BitOps --> XOR["Bitwise XOR (^)"]
    BitOps --> NOT["Bitwise NOT (~)"]
    BitOps --> Shifts["Shifts: Left (<<), Sign-Right (>>), Zero-Fill-Right (>>>)"]

Bitwise Operators Summary Table

Operator Name Bit Rule Example (5 = 0101, 3 = 0011) Result
& Bitwise AND Both bits must be 1. 5 & 3 (0101 & 0011 -> 0001) 1
| Bitwise OR Either bit is 1. 5 | 3 (0101 | 0011 -> 0111) 7
^ Bitwise XOR Bits must be different. 5 ^ 3 (0101 ^ 0011 -> 0110) 6
~ Bitwise NOT Inverts all bits. ~5 -6
<< Left Shift Shifts bits left (multiplies by 2). 5 << 1 10
>> Sign-Right Shift Shifts bits right (divides by 2). 10 >> 1 5

Practical Code Example

// Demonstrating Bitwise operations for permission bit-flags

// Defining permission bit-flags (Powers of 2)
const READ_PERMISSION    = 1 << 0; // 0001 (1)
const WRITE_PERMISSION   = 1 << 1; // 0010 (2)
const EXECUTE_PERMISSION = 1 << 2; // 0100 (4)
const DELETE_PERMISSION  = 1 << 3; // 1000 (8)

// 1. Combining permissions using Bitwise OR (|)
let userPermissions = READ_PERMISSION | WRITE_PERMISSION; // 0011 (3)
console.log(`User Permission Bitmask: ${userPermissions}`);

// 2. Checking permission using Bitwise AND (&)
const canWrite = (userPermissions & WRITE_PERMISSION) !== 0;
const canDelete = (userPermissions & DELETE_PERMISSION) !== 0;

console.log(`Can Write? ${canWrite}`);   // true
console.log(`Can Delete? ${canDelete}`); // false

// 3. Fast Truncation with Bitwise OR 0
const floatValue = 42.95;
const truncatedInt = floatValue | 0; // Truncates float to 32-bit int
console.log(`Truncated Float (floatValue | 0): ${truncatedInt}`); // 42

Best Practices & Gotchas

  • Operands Are Converted to 32-Bit Integers: Bitwise operators convert 64-bit floats into signed 32-bit integers before operating, discarding decimals.
  • Use Bit Flags for High-Performance State Systems: Bitmasking is widely used in graphics engines, permission systems, and binary protocols to store multiple boolean flags in a single integer.
  • Readability Warning: Avoid using bitwise tricks like ~arr.indexOf(item) in general application code; explicit methods like includes() are far more readable.

Self-Check Challenge

Toggle a permission flag using Bitwise XOR (userPermissions ^= WRITE_PERMISSION). What does this accomplish?

Save Your Progress

Unlock Your
Full Potential.

Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.

Quick Access With

Enterprise-Grade Security Protocol

Recommended Courses & Books

Try it Yourself

Experiment with the code from this lesson in our interactive playground.

Open Playground
Lesson Recap Quiz Available

Test Your Knowledge

You've completed this section! Take a quick 5-question quiz to check your understanding.

Stuck on this lesson?

Join our community of senior developers.

Ask in Forum