Using counting other than base 10 in Gimkit

This topic will go over using a different counting system other than the one we use (base 10). It could be helpful to have more 1 digit numbers other than 0-9. We will use the letters a-z to represent this.

To Start:

What is Base 10?

Base 10 is a form of counting that includes 10 digits, 0-9. Once we get to 9, we go to two digit numbers because we run out of 1 digit numbers. The next number is not ten, but yet one zero. (10) The first number is 00, then 01, and so on until 10. When creating my maze bigger, I encountered a problem. Once I got to two digit numbers, it stopped working. I needed to create a much longer base system for it to work.

If our regular counting system is base 10, what is base 5?

Base 5 uses 5 digits instead of our usual 10. It includes the numbers 0, 1, 2, 3, and 4. [1] One we get to 4, we donā€™t go to 5. We go to 10. Why?

If you think about it, we ran out of 1 digit numbers. We immediately start our two digit numbers. Here is a list of base 5 numbers:

0, 1, 2, 3, 4, 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 30, 31, 32, 33, 34, 40, 41, 42, 43, 44, 100.


Okay, I now understand how to get to lower bases, but how do we get to higher bases?

The way we get to higher bases is this:

**We are using base 15 in our example

  • We start with our usual 0-9, but here is where it gets a little more tricky.

  • We start using our alphabet. The next number after 9 is a. The next number after a is b, and so on.

This is base 15:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1a, 1b, 1c, 1d, 1e, 20.

Some math:

9 + 1 = a

a + 3 = d

b + 4 = 10

Here is where the research tag comes in. We need a way to recreate this in Gimkit. I know how to do addition and subtraction, but multiplication and division is a lot harder to recreate. I would appreciate if yā€™all could help on this!

A video on baseā€™s.


Addition


I am using base 20 in this example. Here are steps the inputs a and 1 take in this code to reach the output of b.

  1. The property input1 is set to a and input2 is set to 1. inputOverall is set to 0 by default and "tens" is set to 1 by default. leftoverChecking is set to false by default.

  2. The first thing to note Is the amount of properties. You need to create a property for each numeral in the base. DO THIS FOR EVERY NUMERAL; EVEN NUMBERS 0-9.

  3. wip


Subtraction

wip


Multiplication

wip


Division

wip


  1. The reason we donā€™t include 5 is because 0 counts as a digit. ā†©ļøŽ

6 Likes

Could you show how you do addition and subtraction in GimKit? It would probably help.

I havent acually built addition/subtraction but it seems really easy in my head. We use a property to list all of the 1 digit numbers, then we convert that to a number that scrolls over with the Get text # thing.

i really hope that makes sense ._.

Interesting conceptā€¦

I never knew this about math! Thank you for educating me.

3 Likes

Does that mean base 20 is like

0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,I,j

if so, that might be a better starting point for multiplication/division but idk

Yes, that is correct!

No point is a better or worse starting position. Itā€™s all the same.

oh, ok! but this is very interesting and I hope it does work

So does this mean that base 36 is the biggest that it can go?

0 - 9 and then the 26 letters?

No. You can count to 100 in base 1,000 if you wanted to. All you have to do is find extra characters to fill in the spaces, You can use ā†’ !@#$%^&*()_[]{}\|'";: ā† these if you needed plus a bunch more.

hypothetically, yes

2 Likes

Yeah, there are 154,998 characters so that means maybe you can go to 154,998?


imagine we made base 154,998 in gimkit(would take more than 100000 memory tho)

1 Like

this intrests me.

Iā€™ll give the solution sometime tomorrow evening.

I have the theory and everything

Divisionā€¦ maybe the root block?

Math blocks wonā€™t work; try putting square root of b in the blocks.

Use a lookup table like the multiplication tables that weā€™re supposed to memorize and then use the multiplication algorithm.

1 Like

Nice, another would be binary right?

0 1 10 11 100 101 110 111 1000ā€¦

And if you added 3 + 5 (11 + 101)

101
+11

1 + 1 = 10 carry over 1
0 + 1 = 1 + 1 = 10 carry over 1
1 = 1 + 1 = 10 carry over 1

1000, which is 8!

Then for multiplication,

11 (Binary for 3)
x101 (Binary for 5)

multiply 11 by each number

11 x 1 = 11
11 x 0 = 00
11 = 1 = 11

Add them

11 + 00 + 1100 [1]

We get 1111, which is 15.


  1. We need to update the value, because we are actually multiplying 11 by 100. ā†©ļøŽ

1 Like

So likeā€¦ a property for each multiplication problem? I know what you mean but donā€™t entirely understand how Iā€™m supposed to save a multiplication table in lines of code.

@Bird can you reopen this I accidentally hit the solution button whoops.

Unmark a solution too please.

1 Like

You could use multiple properties, or you could use a text list.

1 Like

One idea is just changing it back to base 10, then changing it into base 12.

Also, is the mod function possible in gkc

This topic was automatically closed 3 hours after the last reply. New replies are no longer allowed.