Official Everybody Edits Forums

Do you think I could just leave this part blank and it'd be okay? We're just going to replace the whole thing with a header image anyway, right?

You are not logged in.

Advertisement

Hello, visitor! These forums are run off of the revenue generated from these ads. If you'd like to support us, please whitelist us or consider donating:

#1 2019-03-28 15:32:50

ILikeTofuuJoe
Member
From: Obvervable Universe
Joined: 2018-06-04
Posts: 1,711
Website

Binary Calculation Tutorial v1.1

Binary is the most compact way of representing numbers. But its calculation is a bit complex.
Binary Addition

In this section we will use 5+7 as an example. 5 = 101 and 7 = 111. Add them up together in binary and you'll get 1100(12). Let's take a look at how the binary calculator is going to accomplish that. So first of all, you need to let your calculator know that 1+1=10,1+0=1,0+1=1,and0+0=0. You need to do that for every bit. 1+1 is fairly tricky compared to the others. Because it advances a bit. You'll need to check that digit to see if it equals 1. If yes, change that to 0 an

View

Binary Subtraction
this section we will use 9-3 as an example. 9 = 1001, 6 = 110, 9-6 = 11This is a bit trickier than the addition, but is simpler than multiplication and division. First, know that 1-1 = 0, 1-0 = 0, 0-1 = -1, 0-0 = 0. Subtract each bit and you'll get 10(-1)0. Since -1 is not a part of binary bits, We'll have to get rid of it. From the -1, check the left number. If it is 1, change it to 0 and the bit itself to 1. If it is -1, then continue looking left, when 1 is found, drop down the chain of -1s until your original bit. If it is 0, or if your chain of -1s has 0s in it, continue searching. When a 1 is found, change it to 1 if there are -1s after it(It gives 1 to the -1), If there aren't -1s after it, don't do anything. Alright let's test! Step 1: Subtract bits 1001 - 110 = 1(-1)(-1)1. Step 2: Clearing -1s: rightmost -1: the left is a -1, So it has to be 1. Leftmost -1: The right is a -1, the left is a 1. Take the 1 and give it to the right -1. Step 3: Answer! 1001 - 110 = 11!
P.S.: I forgot to take screenshots...

Last edited by ILikeTofuuJoe (2019-03-29 06:44:53)


https://wiki.everybodyedits.com/images/8/8f/117_cat ~meow~ https://wiki.everybodyedits.com/images/8/8f/117_cat
Posting Goal: 2000
#Joe Griffin
Signature
Thanks HG for the signature and avatar!!!

Offline

#2 2019-03-28 20:49:45

JadElClemens
Member
From: Colorado, USA
Joined: 2015-02-15
Posts: 4,558

Re: Binary Calculation Tutorial v1.1

Good post! I'll add that computers largely do not actually subtract binary values. Negative values in binary are, in most cases, represented as a two's complement value, where the most significant bit (the leftmost bit in most representations) is the sign bit - 0 for positive, 1 for negative. When using a signed integer of this type, subtraction is performed as the addition of two numbers where at least one is negative, because the rules are actually the same.

Quick rundown on calculating two's complement values

For example, take the calculation 10 + (-3). Normally you could represent 10 in 4 bits, but since we need the MSB to be a sign bit we have to use at least 5.

  01010 (10)
+ 11101 (-3)
-----------------
  00111 ( 7) 

Technically this does overflow (the output value is 100111 = -25, but since we're using 5-bit hardware in this example we have to throw out the MSB). At this moment I don't remember the rules for when overflow should be ignored.

Last edited by JadElClemens (2019-03-28 20:50:22)


4RNmJ.png

I hate tall signatures.

Offline

Wooted by: (2)

#3 2019-03-29 06:18:45

ILikeTofuuJoe
Member
From: Obvervable Universe
Joined: 2018-06-04
Posts: 1,711
Website

Re: Binary Calculation Tutorial v1.1

^ Alright! I'll add some text for calculation negative numbers (as soon as i figure out how to do that).
So for binary numbers, value = (non sign bits' sum) - sign bit?


https://wiki.everybodyedits.com/images/8/8f/117_cat ~meow~ https://wiki.everybodyedits.com/images/8/8f/117_cat
Posting Goal: 2000
#Joe Griffin
Signature
Thanks HG for the signature and avatar!!!

Offline

#4 2019-03-29 12:55:05

LukeM
Dev Team
From: England
Joined: 2016-06-03
Posts: 2,758
Website

Re: Binary Calculation Tutorial v1.1

ILikeTofuuJoe wrote:

^ Alright! I'll add some text for calculation negative numbers (as soon as i figure out how to do that).
So for binary numbers, value = (non sign bits' sum) - sign bit?

The most significant bit counts for negative what it used to, yes. So if it was an 8 bit number then the most significant bit would be -128 instead of 128, and the rest of the bits would stay the same.

The easiest way to negate a number that I know of is to flip all the bits then add one (effectively flipping all the bits after the first one from right to left):
34 = 00100010
   -> 11011101
     + 00000001
     = 11011110
= -128 + 64 + 16 + 8 + 4 + 2 = -34

Last edited by LukeM (2019-03-29 13:02:29)

Offline

LukeM1553860505743927

Board footer

Powered by FluxBB

[ Started around 1558893871.9555 - Generated in 0.033 seconds, 10 queries executed - Memory usage: 1.31 MiB (Peak: 1.43 MiB) ]