TumbleSphere

Your gateway to endless inspiration

Binary - Blog Posts

6 months ago

yeah i say that to you guys. gay people inside my phone <3

you are just a bunch of 0's and 1's in my head

nothing will ever beat the comedy of the qsmp chat bubbles:

Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:
Nothing Will Ever Beat The Comedy Of The Qsmp Chat Bubbles:

Tags
4 years ago

Machines

i love machines. because they are simply awsm.

machines can do clever things, if you can manage to look past the unclever things.

maybe we could make each other smile too, if we looked past our tears.


Tags
8 years ago
Did You Know That 2015 Equals 11111011111 In Binary, A Palindrome?

Did you know that 2015 equals 11111011111 in binary, a palindrome?

Oh, and by the way, on May 15th, 2015 at 02:09:25 UTC, Unix time will be 1010101010101010101010101010101.


Tags
12 years ago

reading the contents of user input, and calculator improvement

This post will cover how to actually determine WHAT the user has typed, instead of just how long it is. It will also include how to interpret what the user enters as a binary number, so that its easier to type.

An Essential part of making it interpret binary numbers is making it double numbers repeatedly.

This actually has a few ways that can be done, so this is one of the first situations where coding style for this problem might differ from person to person. Because of this, I will say more than one way to do it.

The first way to do this it to copy the number twice, and then start from zero and add both of the copies. This is relatively inefficient, and would take

a copy thing, consisting of two bifurcates (which would take a little time)

where the size of the initial number is N, 2N normal bifurcates, 2N reverse bifurcates, and 4N lines relating to the actual loop

assuming each command takes the same amount of time (which is an oversimplification) this would take 9N+C line times. (C is a constant) This might be acceptable, but there is a more efficient and nicer looking way.

The second way is nicer looking, but still not the most effecient. However, when multiplying by a larger number(such as 3, or 4, or even large numbers), this method is part of what would be used.

The second method is essentially copying the number (using a reverse bifurcate and a normal bifurcate), and then adding the number to zero, except instead of each loop increasing the new number by one, it increases it by two. This is shorter, and it looks nicer. It also only takes half as many normal bifurcates. As a result, the number of steps it would take (again assuming each step is the same length) is 8N+C, instead of 9N+C 

this one I will write out, but it is still not the best way:

//N is the number initially BIFURCATE [NULL,NULL]2NULL; BIFURCATE [N,N]G; BIFURCATE G[NCOPY,JUNK]; BIFURCATE 2NULL[RESULT,JUNK]; ~ATH(NCOPY){ BIFURCATE NCOPY[JUNK,NCOPY]; BIFURCATE [BLAH,RESULT]RESULT; BIFURCATE [BLAH,RESULT]RESULT; } 

ok, so yeah. that takes N, and puts twice N into RESULT, but it is still inefficient.

A more efficient version is to copy the initial number, and add the number to itself. This way you only have to do half the number of reverse BIFURCATE statements. This is much more efficient, taking instead the steps:

a copy thing, consisting of two bifurcates (which would take a little time)

where the size of the initial number is N, N normal bifurcates, N reverse bifurcates, and 2N lines relating to the actual loop

This has 7N+C steps, which is a significant improvement. I think it is the fastest way to double a number in drocta ~ATH.

It is as follows (N is the number)

BIFURCATE [N,N]G; BIFURCATE G[NCOPY,RESULT]; ~ATH(NCOPY){ BIFURCATE NCOPY[JUNK,NCOPY]; BIFURCATE [BLAH,RESULT]RESULT; } 

This is shortest and fastest solution I have found. If you find a shorter or faster method, please tell me.

Ok. Now we can double numbers. That is good. That is an important step. But we still haven't gotten user input to be read in any reasonable way.

Hang on, I'm GETTING TO THAT. GEEZ. (I'm kidding, no one has been complaining about my taking so long, other than myself)

Ok, so here goes:

To interpret the binary number input and convert it to a "number", we can follow the following algorithm:

start with zero.(this is before the loop)

If there are any characters left, double the number that is being created.

remove the first character from the remaining characters. If it is "1" or whatever symbol (or alternatively if it is not "0"), add one to the number that is being created. Otherwise, continue onto step 4 without doing anything first.

go back to the start of the loop (step 2)

Ok. thats the algorithm we are going to use. But I STILL haven't explained how to recognize what the next character is. Seriously what is up with that?

What you do is you bifurcate the rest of the input into [the next character,the rest of the input].

Now you have the next character. Then what you do is you reverse bifurcate it with some other object, and then you check whether that object is already dead or not.

But how do you make it so the combination is already dead? How do you get the object for the character before the user has even inputed it?

Answer: You don't. Not in the current version of drocta ~ATH anyway. You will have to tell the user to enter all the characters they will be using ahead of time. Yes this is horrible and stupid. No its not exactly like that in the comic. Its ~ATH what do you expect? :P

that might change in future versions, but I will try to stay backwards compatible with that.

but anyway, back to comparing it:

so you say something along the lines of:

import comparingobject CMP1; othercodehere makeNEQ1besomethingalive BIFURCATE [CMP1,CHAR]EQ1; BIFURCATE [NULL,NULL]2NULL; ~ATH(EQ1){ print yep, they are equal; BIFURCATE 2NULL[EQ1,NEQ1]; } ~ATH(NEQ1){ print nope, they are not equal; BIFURCATE 2NULL[NEQ1,JUNK]; }  

in the othercodehere you get the character a head of time, and say BIFURCATE[CMP1,THECHARTHATMATCHESWITHCMP1]D; D.DIE();

That makes it so that it will go through the one section of code if the character is the right one, but something else if it is something else.

Which is what we want.

So to put it all together, and make the thing that interprets the input as a binary number(hold on tight(ok, what, why did I say that), this will be a long one(why am I talking like this?)):

import blah BLAH; print please enter whatever character you will be using for binary zero.; INPUT ZEROCHAR; BIFURCATE ZEROCHAR[ZEROCHAR,JUNK]; import chrcmp CMP0; BIFURCATE [CMP0,ZEROCHAR]D; D.DIE(); print please enter whatever character you will be using for binary one.; INPUT ONECHAR; BIFURCATE ONECHAR[ONECHAR,JUNK]; import chrcmp CMP1; BIFURCATE [CMP1,ONECHAR]D; D.DIE(); BIFURCATE [NULL,NULL]2NULL; BIFURCATE 2NULL[OUTNUM,JUNK]; print please input the binary number you want.(it will be converted to unary); INPUT BINNUM; ~ATH(BINNUM){ BIFURCATE [OUTNUM,OUTNUM]G; BIFURCATE G[NCOPY,OUTNUM]; ~ATH(NCOPY){ BIFURCATE NCOPY[JUNK,NCOPY]; BIFURCATE [BLAH,OUTNUM]OUTNUM; }  BIFURCATE BINNUM[CHAR,BINNUM]; BIFURCATE [CMP0,CHAR]NEQ0; ~ATH(NEQ0){ BIFURCATE [BLAH,OUTNUM]OUTNUM; BIFURCATE 2NULL[NEQ0,JUNK]; } } print ok, going to print it out in unary, with each digit on one line. If the number you entered was large you might want to close the program instead of hitting enter.; INPUT JUNK; BIFURCATE [OUTNUM,OUTNUM]GOUTNUM; BIFURCATE GOUTNUM[OUTNUMCOPY,JUNK]; ~ATH(OUTNUMCOPY){ BIFURCATE OUTNUMCOPY[JUNK,OUTNUMCOPY]; print 1; } print Am I a terrible person for writing this?; 

Oh gosh. I wish I could indent in tumblr. that is terrible to read. tumblr is a terrible source code editor.

One time someone called me a masochaist for writing this type of stuff.

And then we just have to put that together with the adding thing, and then maybe add a better way of outputting the number. maybe in binary.

HAHAHAHAH

ok, yeah, I'm going to put it together in the next post, not this one, because I have to homework now.(using the noun homework as a verb was intentional)

yeah. putting it together in the next post.

As always, if something was confusing, please ask for clarification.


Tags

01101000 01100101 01111001 00100000 01100010 01100101 01110011 01110100 01101001 01100101 00100000 01101000 01101111 01110111 01110011 00100000 01101100 01101001 01100110 01100101

The power of binary translators. Anyway, 01001001 00100111 01101101 00100000 01101100 01101001 01110110 01101001 01101110 01100111 00100000 01100001 01101100 01110010 01101001 01100111 01101000 01110100


Tags
Loading...
End of content
No more pages to load
Explore Tumblr Blog
Search Through Tumblr Tags