 So one of the things that we have to look at is, now that we have all these binary numbers, how do we translate them? How do we represent them on the computer? Let's say, for example, I have the binary string of 0, 1, 0, 0, 0, 0, 0, 0, 0, 1. Okay. So, if I happen to play a little bit of conversion, what I would know is that this, for example, translates out into a 1, and then I can sort of count by powers of 2, so that's 2 to the 0th power, 2 to the 1 power, 2 to the 2 power, 3 power, 4 power, 5 power, 6 power, and 2 to the 6th power happens to be 64, so 64 plus 1 is actually going to translate out into 65. Okay, well, what all of a sudden happens is I'm able to represent numbers from binary strings. But what happens if I want to actually do a little bit more? What happens if I want to take this and represent it a little differently? And what I mean is, instead of 65, what if I want to say that this represents a symbol? You see, we've got tons of symbols in both English language and every language, actually. So how do I represent them on the computer? Well, what I can do is I can say in this kind of combination right here, I'm going to say that's going to represent the capital A. And if you can kind of guess if 65 was the capital A, then probably the binary string of 66 would be capital B. And so that's actually where we get into this idea of data types inside of Python. You see, if I only have one bit, that's very simple. It's either on or off. It's power, no power. And one of the things that we kind of talk about is this idea that it is either true or false. And so that's actually where we get into the idea of Booleans. Simple enough, they can only be true or false. But we were just talking about sort of numbers and whatnot. And one of the things that actually happens is we have a number of numbers. We actually have the first one, which is known as integers. Now integers are whole numbers. They can only be sort of 1, 2, 47. No decimal places, no fractions whatsoever. And that actually gets into sort of the binary understanding of things. You see, let's look at that 65 again. 0 1 0 0 0 0 1. Well, if I wanted to represent, say, 65.5, where's the decimal point in that? And see, this actually kind of becomes an issue because if we think about decimals for a second, let's even kind of do 65.5. When do I stop? Is 65.5 the equivalent of 65.50? 0 0 0 0 0 0 0 0 0 0. You can see that all of a sudden I can continue to write this out to infinity, and so I never know when to stop. So all of a sudden Python introduces and most programming languages introduce this idea of something called a floating point number. And basically speaking, it designs out the binary strings so that it handles some level of decimal places for us automatically and just doesn't worry about it. Now, it also has things like fractions and complex numbers as well, but the other thing that we talked about was this idea that I can represent that A. You see, this A, this actually kind of stems from a nice little standard we call ASCII. American Standard Code for Information Interchange. The acronym doesn't necessarily matter, but it's what it does. All of a sudden I'm able to say, well, I got all these letters. How do I represent them on the computer? The problem is we also get into the issue of how do I represent a lot of those letters? That's kind of this idea of strings. I can take something like a single A and I can also maybe take a few other characters, a few other those ASCII or in this case Unicode, which just sort of expands on ASCII. I can say, well, instead of it just being A, maybe I also do something like a D and then maybe another A and then maybe an M. Now, it won't have those dots or those apostrophes in between each one and that's actually kind of where we get into this idea of a combined string.