All of the logic gates we've been using (AND, XOR, OR, etc) are part of every programming languages as bitwise operators. You've probably seen them before - here they are in JavaScript:
&
is AND||
is OR^
is XOR
And so on. In this video we dive in head-first and answer a pretty common interview question:
Create a routine that adds two positive integers together without using mathematic operators.
I got asked this once and drew a complete blank as I had no idea and let the interviewer know that. They tried to offer me clues but I was beyond any kind of help, in a completely foreign land. I knew absolutely nothing about binary!
If this is you, buckle up cause here we go!
The Code
Here's the code we'll be cycling on for the video:
const add =function(x,y) { //iterate until there is no carry let should_carry = null; while(should_carry !== 0){ should_carry = x & y; x = x ^ y; y = should_carry << 1; } return x;}console.log(add(27,15));