《Programming Wizards!》Numbers! Letters! Strings?!
Advertisement
Four organs floated in the glass containers. “And these,” said the teacher. “Are the four types you will find most commonly.” The organs had a luminous stripe going through their center and numerous flaps either turned to the left or right. “This,” he pointed to the organ with four flaps, “is a boolean.”
‘Boolean,’ wrote the students on their tablets using them as notebooks. Some drew a detailed picture while others drew a diagram.
“This bit turns on,” said the teacher. He pressed a button built onto the side of the container and the highest flap turned from left to right. “If the bit is on, it has a value of true. If the bit is off, it has a value of false.”
“If the flap is to the left,” said the student, “it is off, and if it is to the right, it is on?”
“Yes,” responded the teacher. “A single flap is called a bit.”
‘Bit,’ wrote the students in their notebooks.
“More precisely,” continued the teacher. “A bit is off when it is zero, and on when it is one. For this is zero-zero-zero-one, because three flaps are off, while one is on.” He moved to the center of the four containers. “These,” he said and lifted his arms as if he were presenting them a grandeur. “Are data types,” he finished saying.
‘Data types,’ scribbled onto the notebooks.
“A boolean,” said the teacher, “is either true or false.” He moved to the container next to the boolean. “This is an integer.” The organ had thirty-two bits, twenty-eight more than the last. “An integer holds over four billion val—” he paused to correct himself. “An integer,” he repeated, “has over four billion states.”
The students raised their eyebrows in awe. “Four billion?” one said.
“Two to the power of thirty-two. What is it?”
The students punched the numbers into their tablets which were now functioning as calculators. “Four-billion-two-hundred-ninety-four-million-nine-hundred-sixty-seven-thousand-two-hundred-ninety-six.”
“Exactly,” responded the teacher and a student in the back shivered. “Over four billion states.”
“Does a boolean have sixteen states?” questioned a student.
“Ah!” the teacher burst out in amazement. “Where did you get that number?”
“I calculated two to the power of four. Since a boolean has four bits.”
“Excellent. It would seem so, but that is not the case. A boolean only has two states, either true or false.”
“Would it not only need one bit, then?”
“It would, but technology loves four. Actually, technology loves bytes. Bytes are four bits.”
‘Bytes are four bits,’ wrote the students.
“You’ll commonly find bytes rather than a bit on its own.” The teacher paused for a moment to think if he wanted to complicate it further. “Actually,” he decided to. “A byte can be four or eight.”
‘Bytes are four or eight?’
“It depends on the architecture. We’ve noticed the byte of eight is becoming more common, as the byte of four is fading out. Technology is advancing. And, who knows? Maybe bytes of eight will fade out to be replaced with bytes of sixteen.”
‘Depends on the architecture.’
“Thirty-two bit systems used to use four bits. Sixty-four bit systems use eight bits. In fact, it might even depend on the language you are using. Some compilers, which turn the code into machine code, compile the code to use four bits rather than eight.”
Advertisement
‘Depends on the compiler.’
“Remember what I said during the introduction class?”
The students tried to remember.
“Search!” he yelled and startled the students. “To figure out how your specific language works, you need to search for answers on the internet.” He turned back to the containers. “Although, this is usually not an important distinction,” his voice had a deep resonance as it bounced back off the glass into the ears of the students. “It doesn’t matter if a boolean is four bits or eight bits if you simply want to store a value of true or false.” He looked up at the organ that looked identical to the integer. “This is a float,” he said.
‘Float, thirty-two bits or four bytes.’
“An integer is any whole number.”
‘Integer = whole number’
“Well, ranging from about negative two billion to positive two billion. Whereas, a float is any real number.”
‘Float = real number’
“Within a specific range, of course. An integer can be one, two, five-hundred-twelve. Whereas, a float can be one, two point five, five-hundred-twelve point ninety-two.” He stared at the float with admiration. “I would love to explain to you how the float stores its state, but,” he said with a bitter smile. “That will have to be for another time.” He moved onto the next and last container. “Character,” he said.
‘Character,’ they wrote.
The organ had eight bits, or two bytes in the old system, or one byte in the new system. “This is a character.” He turned to the students. “The words we use to communicate use letters, which are characters. A character does not need to be a letter, it can also be punctuation. Two to the power of eight.”
“Two-hundred-fifty-six,” said a student instantly.
The teacher smiled. “Yes. Two-hundred-fifty-six. A character has that many states.” He sighed. “Although, it can be increased or decreased. For example,” he said and closed his eyes. “Let’s imagine eight bits or one byte.”
The students followed.
“A character is one byte.” He raised a finger.
They raised a finger.
“We can map a character onto a single byte.” He closed his hand to make a fist. “If all bits are turned off, we’ll represent it as the ‘A’ character.”
Some students kept their eyes closed and tried to remember, while others opened them and wrote, ‘A = 00000000’ on their notebooks.
“But,” he lifted one finger, “if one bit is turned on, we will represent it as the ‘B’ character.”
‘B = 00000001’
“Then,” he lifted another finger. “If two bits are turned on, we will represent it as the ‘C’ character.”
‘C = 00000011’
He paused and asked himself if he wanted to complicate things even more. “Now,” he said and opened his eyes. “There is a way to count in binary. We are not counting in the proper way, we will save that for another class.” He closed his eyes once again. “So far, we can represent three characters. If we keep using this approach and turn on all the bits, we can represent nine characters in a byte.” He counted on his fingers. “One for each bit, and one when all bits are off.”
‘D = 00000111’’
Advertisement
‘E = 00001111’’
‘F = 00011111’’
…
He relaxed his hands and opened his eyes. “Why can’t we add more bytes to represent more characters?”
The students stopped writing.
“The answer is: we can.” He pointed to the character in the container. “This is an eight bit character, we can represent characters with more bits if we wanted. What we’re doing by representing characters is: we’re encoding them. There is an encoding method called ‘UTF-16’ which uses sixteen-bits or two bytes for each character. It also sometimes uses two sixteen-bits to represent even more characters.” He held his head. “We’re not going to cover this, if you want to learn more about it, simply search ‘UTF-16.’”
‘UTF-16’
“Now,” he rubbed his hands together. “What if we could use two integers to create another integer?”
‘Integer + Integer = Integer?’ As the student wrote that down, she realized, “well, of course! Adding two integers will produce another integer.”
“Precisely,” he said with a smile. “Adding two floats produces another float. What about booleans?”
“I would imagine it would be impossible to add two booleans.”
“Exactly. You cannot add two booleans together. However, there is something else you can do with a boolean that you can’t do with an integer or float.”
The students waited for his answer with their pens ready.
“Toggle. A true becomes false, and a false becomes true.”
“Is that like changing the sign of a number?”
The teacher wondered for a moment. “I never thought of it like that, but not exactly. To change a number’s sign, you need to multiply it by negative one. Whereas, a boolean cannot be multiplied, it can only be toggled. These are operators. A boolean has a toggle operator.”
‘Boolean operators: toggle’
“A float and integer have an addition, subtraction, multiplication, division, and modulus operator.”
‘Integer and float operators: addition, subtraction, multiplication, division, modulus’
“Note how the toggle operator only requires a single value, whereas the operators for integers and float require at least two.” He walked over to the door and opened it for his students. “A boolean has more operators than just the toggle, but we’ll get to that when the time comes.”
They walked into a room glowing with a piercing blue that radiated from the giant screen. Under the screen was a desk with a computer. The room was similar to their classroom except significantly darker and with a roof significantly higher. “Practicality,” said the teacher as he made his way to the computer. “I’ll show you how code is usually written.” He typed and the screen displayed:
int a = 1;
An organ appeared behind the students within a glass container. It had the top most bit turned on. “In statically-typed languages,” said the teacher. “You must declare the data type. In this case, the variable ‘a’ will always be an integer. In dynamically-typed languages, ‘a’ can be changed to any other data type and the type is not declared. The semicolon is like a period, required in some languages. It marks the ending of a statement.”
int a = 1; int c = a + a + 1;
The organ split into an identical copy, which sunk and appeared in another container. The original organ split again, the clone sunk again, and was injected into the other container from the bottom. Then a new organ, which was not split, was injected into the container. The first two organs approached and dissolved into each other, making a new organ with one bit on that was one lower than the original. Then, the new organ dissolved into the remaining organ, which created another organ with the first bit and second bit on. “The original container represents variable ‘a,’” said the teacher. “While the new container represents variable ‘c.’” The teacher left the computer and approached the students. “Remember the addition operator?”
The students nodded.
“What if we could add characters together to create words?” He paused. “Well, we can. Let me show you how characters are declared first.” He went back to the computer. He cleared the screen and the containers sunk into the floor, then typed:
char character = ‘A’;
An organ with two bits on that were separated by five bits appeared. A binary state of: 1000001. “We can’t simply add characters together, that would throw an error. But,” he said, cleared the screen and typed:
string characters = “A” + “B”;
A single container containing two organs emerged. “We can add strings together. Strings are a data type. However, they are special, since they are made up of another data type. A string is a sequence of characters. Note how I used double quotes to declare a string and single quotes to declare a character. What I wrote can also be written as:”
string characters = “AB”;
The container stood in place. “It’s the same result,” he said. “In fact, we can also do this:”
string characters = “AB” + 2;
Another organ was injected into the container and floated beside the other two, with a binary state of: 110010. “Here, the integer two is being converted into a string. And, the binary state of a string representing the number two is different from the binary state of an integer representing the number two.”
string characters = “AB” + 2 + 3;
An organ was injected, and floated beside the organ representing two. “Now, watch.”
string characters = “AB” + (2 + 3);
The organ representing two and three were ejected and replaced with another two organs that were identical in representation but of type integer. They dissolved together making a new organ with the binary state of: 101. Which was then ejected and replaced with another organ with the binary state of: 110101. “You’re seeing the conversion from string-to-integer and integer-to-string when you see the ejections. Before I added the brackets, I was adding strings together. When I added the brackets, I was adding two integers together, so it got rid of the string representations and injected the integer representations. Then, it added them together, giving us the integer five. Finally, it was ejected and we were returned five in its string representation which was concatenated onto the ‘AB’ string.”
string characters = “AB5”;
The container stood still as the end result of the new code was the same. “The addition of strings is called concatenation.”
Advertisement
-
In Serial309 Chapters
World of Beasts: I Can See Their Hidden Stats!
"Locke transmigrated into an era where everyone had Battle Beasts. Daemons were rampant and humans were forced to build walls around their dwellings while depending on Beastmasters to keep those monsters at bay. It was time for academies to open their enrollments and Locke only had a small snake that everyone claimed was useless! ""A snake? Isn't this just a normal snake? What a useless Battle Beast."" ""What potential can a snake have? Even if it evolves into a two-headed snake that's still only Level 1 strength. You might as well continue living like any other normal folk."" ""Who are you kidding? What makes you think you have what it takes to enter a Beastmaster University?"" Locke stayed calm as countless classmates and teachers mocked and made fun of him while he turned to his System's interface. ""All Beasts Hidden Evolution Paths!"" From a Two-headed snake to a Fire-and-Ice Two-headed snake... Then to a Demonic Shadow Snake... a Bright Serpent... Before finally, evolving into Medusa..."
8 1909 -
In Serial18 Chapters
Crepuscular's Creations
Jane Stevens is not a normal princess she would rather compete in a duel than go to a ball, and she controls the elements of fire and wind. Her powers are a mystery to her, so she must hide them from the outside world, which gets harder and harder by the day as she is getting ready to take over for her father as the ruler of Darkwell, but before she can she must meet her extended family. Jane meets a family member she never knew existed and together they must navigate the journey that started before Jane could even set foot on the foreign soil. participant in the Royal Road Writathon challenge
8 141 -
In Serial9 Chapters
The Rise of the Radiant Rooster
A rooster in a Xianxia world discovers a treasure that grants it sentience. So, it uses that newfound sentience to cultivate and become the most radiant cock in the world. Cover art by j0nn0 Feb 18, 2020: Story’s dropped matey’s. Forgot I even wrote this.
8 279 -
In Serial13 Chapters
Douxie x Reader Book 1 Thousand Years and Thousand More
I saw Wizards on Netflix and thought that Douxie was cute and yeah...Book 2 is out now!!!!
8 170 -
In Serial54 Chapters
Hero's breaking
Many just call it "the Event". A blue flame engulfing earth without actually hurting anybody. Soon after that humans developed superhuman powers. Taking flight, dodging bullets, nothing was impossible for These espers as they where called. Many fractions fight against each other for power and control. Some want to get rid of them, imprison them or simply use the power for the gain of wealth. Join Alexis Mercer. An underestimated esper living in the united states. Robbed of her Lover, her best friend and even her normal School life she sets out for revenge. Arc 1: The Raiders [Finished] Arc 2: The Clan [Work in Progress.] Arc 3: ??? [In Progress somewere in my mind >_>] <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> I'm just a high School Senior having fun writing about random stuff. So please have mercy on my Soul ;__; English is not my native language so please excuse my bad usage of tenses and grammar. Feel free to comment about things you think should be made better and I will try to fix it, although I don't know how much time I can invest into this. I hope at least somebody can enjoy this Little Story. Can't promise frequent updates. Feedback is highly appreciated. Rem
8 189 -
In Serial55 Chapters
Wanna Be A Cat (ᵠᵘᵒᵗᵉˢ)
¬> Pɪᴄᴛᴜʀᴇ ᴏғ ᴄᴜᴛᴇ ᴄᴀᴛs¬> Qᴜᴏᴛᴇs ᴀʙᴏᴜᴛ ʟɪғᴇᶜʳᵉᵈⁱᵗ ᵗᵒ ~𝘱𝘪𝘯𝘵𝘦𝘳𝘦𝘴𝘵~𝘵𝘸𝘪𝘵𝘵𝘦𝘳~𝘨𝘰𝘰𝘨𝘭𝘦𝙱𝚎𝚊𝚞𝚝𝚒𝚏𝚞𝚕 𝚌𝚘𝚟𝚎𝚛 𝚋𝚢 @𝐝𝐫𝐢_𝐳𝐥𝐤𝐡𝑺𝒕𝒂𝒕𝒖𝒔: 𝑪𝒐𝒎𝒑𝒍𝒆𝒕𝒆 ^𝑾𝒊𝒍𝒍 𝒉𝒂𝒗𝒆 𝒃𝒐𝒏𝒖𝒔 𝒑𝒊𝒄𝒕𝒖𝒓𝒆 𝒐𝒇 𝒄𝒂𝒕𝒔^ Ⓒ︎𝚍𝚛𝚒_𝚣𝚕𝚔𝚑
8 229
