I really started to hate floating-point numbers after trying to do math with it. But you helped me appreciate it. This video is SO SUPER good. Few people are so good at what they do, know what they are talking about AND can even explain it; in your case, you are really good at all of them. Truly, you are probably one of the reasons that my passion for these kinds of things is so upfront.
By far the best explanation on IEEE 754 and on biased exponent. It's really remarkable that you explained in a lucid manner. Thank you for the series on binary too.
I've followed this channel for about 2 years now. It's genuinely incredible how he has the capacity to simply the most complex procedures into a single set of steps
This channel is so incredibly underrated... I wish every compsci student would subscribe to this. I know I could have used it in my uni days. Great work and keep it up!
I signed in to UA-cam after an eternity solely to post this - your explanation of the Two's Compliment sign bit at 9:41 is absolutely brilliant and intuitive. Well done; it's so simple: the MSB becomes its normal value except negative, and the conversion to decimal "Just Works." I wish I had seen that when I was first learning binary formats as a kid - it's SO much easier to think of it that way than the whole "count backwards from all 1's" way I had conceived of it before.
Mate, this is brilliant! I am a medical professional trying to grasp the basics of computer anatomy and physiology if you will, and your videos really make everything much more organic! Thanks for this amazing content! I'm looking forward to watching the other series in your channel.
Every year, I go on CS competitions (and usually do quite well, I was second in Croatia once), but I could never remember how to use this standard or why things were how they were. Thank you for that!
just WOW, you are incredible. I just started with my first year of computer science and this video made everything sooooo clear. I subscribed. So keep up the good work.
this is such a good video! I never had the idea of using what you call the "modified gadget" for the place values of 2s complement numbers. I came here thinking I knew my 2s complement and I'm leaving having learned not only the standard for floating point numbers, but an incredibly valuable tool for working with 2s complement. Thank you!
Thanks so much for this video, excellently paced for taking notes and really absorbing and understanding the information, with lots of great explanations as to WHY steps are taken. TY
Thanks a lot for this great explanation I am from Germany and i am currently playing with the x32 osc software which uses these floation points to control the faders of each single channel There is no open source javascript implementation of this calculation on the internet And also no good explanation With the help of this video I've managed to create my own conversion function Thanks a lot
This is such a phenomenal video. The pace at which the animations/charts line up with your words greatly help with understanding this. To be honest, your channel is like a wikipedia for basic data representation, and should be something every teacher recommends. The only question is what exactly do you mean by 'the value of the exponent specifies how far to the left or to the right the binary should float to obtain the value in the register?' That part wasn't clear. Do you mean how much it should float to determine the mantissa? Also, what part of the floating point concept tells us where the 'decimal' starts? Is it the exponent?
Could you explain why the normalization of the mantissa is "1.1 * 2^-4" instead of "0.11 * 2^-3" as you explained that normalization for positive numbers should be in the form of 0.1xxxxxx * 2^x in the video of "Binary 6 Normalized Floating Point Binary Fractions"?
Thank you for your brilliant explanation sir , but I have a question . in the last two examples when we converted the number 123 to binary , why one started with 01 and the other with 11 ?
Small error: While explaning converting from 19.59375, the title of the slide switches to converting to 19.25. the bottom of the slide seems to continue on the 19.59375 however.
Do you know where I can read more about this theory of converting denary number to pure binary, or maybe you could explain it? I understand why repeatedly dividing whole part by 2 works, but I can't understand how repeatedly multiplying fractional part by 2 gives us binary representation. I really want to understand this part and not just memorise it
I think converting between binary and denary by successively multiplying or dividing by two is nice 'trick' but I prefer to teach binary from first principles. It's important to realise that each bit has a place value. Perhaps my binary playlist will help. ua-cam.com/video/cJNm938Xwao/v-deo.html :)KD
very helpful, but why in your first example, you want to convert the value 19.25 to binary but in step 2 you also use 19.59375, can you explain me, very thanks, you lesson is very valuable
IEEE should have inverted the sign-bit convention so that 1 means positive an 0 means negative. That would allow you to compare two floats bitwise starting with the most-significant bit and the first to have a 1 where the other has a zero would be the larger number.
I would have liked to see you convert -3.303139... E-36 back to a 32 bit binary number. I am struggling with how to deal with the base 10 exponent. It's not obvious to me yet.
What is a fixed-sized register?? Could you link any related resource, please? and in the beginning, you said -" the value of exponent specifies how far to the left or the right the binary point should float in order to obtain the actual value in the register." - Could you please explain "register" here? is the value in register or what!!
A register is the smallest unit of storage found in the CPU. In an older machine, a register could hold 32 bits. Modern machines have 64 bit registers (or even 128 bit registers). Registers are always fixed in size. I pointed out that they were fixed in size to emphasise that register size imposes a limitation on the size of the number it can store. I strongly recommend that you take a look at my playlist on binary which explains this in more detail. ua-cam.com/play/PLTd6ceoshprcpen2Jvs_JiuvWvqIAkzea.html :)KD
This is amazing. You explained in 20 minutes what my professor could not in 90 minutes.
How scared and ignorant i was about those floating points, but now i'm feeling enlightened and empowered with knowledge. Thank you!
That's music to a teacher's ears :)KD
@@ComputerScienceLessons what if the given would be .12?
This guy's channel name is literally "Computer Science." Epic.
I really started to hate floating-point numbers after trying to do math with it.
But you helped me appreciate it.
This video is SO SUPER good.
Few people are so good at what they do, know what they are talking about AND can even explain it; in your case, you are really good at all of them.
Truly, you are probably one of the reasons that my passion for these kinds of things is so upfront.
Thanks for the lovely comment :)KD
By far the best explanation on IEEE 754 and on biased exponent. It's really remarkable that you explained in a lucid manner. Thank you for the series on binary too.
Thank you. And you are most welcome :)KD
I've followed this channel for about 2 years now. It's genuinely incredible how he has the capacity to simply the most complex procedures into a single set of steps
Thank you :)KD
This channel is so incredibly underrated... I wish every compsci student would subscribe to this. I know I could have used it in my uni days. Great work and keep it up!
It's very kind of you to say so. Thank you :)KD
@@ComputerScienceLessons 6:44 why the number is chage (19.5.. to 19.5)?
btw, i think the voice volume is too low 🙏
@@ComputerScienceLessons i totally agree with him, BECAUSE I AM in university goddamn it can't you be my professor? :l
I signed in to UA-cam after an eternity solely to post this - your explanation of the Two's Compliment sign bit at 9:41 is absolutely brilliant and intuitive. Well done; it's so simple: the MSB becomes its normal value except negative, and the conversion to decimal "Just Works." I wish I had seen that when I was first learning binary formats as a kid - it's SO much easier to think of it that way than the whole "count backwards from all 1's" way I had conceived of it before.
Thank you for taking the time to post such a lovely comment. It makes it all worthwhile. :)KD
This makes it really clear why simple math operations with floating point numbers sometimes give weird X.99999999 results. Great video!
Thank you :)KD
This channel is a goldmine, you are saving lives sir please do not stop making videos!
You are very kind. More on the way :)KD
Thanks again. Floating point numbers were always very confusing to me until I found your channel
Happy to help :)KD
Really good. 20 years ago this went over my head and always meant to revisit it. Very clear explanation.
Thank you. You are most welcome :)KD
that's the most comprehensive video I could find on this topic, great job
Your video taught me IEEE 754. Thank you.
You're welcome :)KD
your way of saying Mantissa is just so perfect. has to be said.
MANTISSA MANTISSA MANTISSA
4:08 is an incredibly well thought out, easy to follow, pedagogical explanation of conversion! Thanks a bunch!
Thank you. Your comment is greatly appreciated. :)KD
Really made me "floating" with joy, thanks teacher!
You are very welcome. You made my day. :)KD
Mate, this is brilliant! I am a medical professional trying to grasp the basics of computer anatomy and physiology if you will, and your videos really make everything much more organic! Thanks for this amazing content! I'm looking forward to watching the other series in your channel.
You are most welcome. Thanks for taking the time to comment :)KD
Every year, I go on CS competitions (and usually do quite well, I was second in Croatia once), but I could never remember how to use this standard or why things were how they were. Thank you for that!
You're most welcome. Good luck with the next competition :)KD
TYSM! This finally made me understand the IEEE 754 standard for floating point numbers!
You are welcome indeed. Delighted to help :)KD
thank u so much
I did very well today on the exam
following u from Palestine
Delighted to help :)KD
just WOW, you are incredible. I just started with my first year of computer science and this video made everything sooooo clear. I subscribed. So keep up the good work.
Thank you for the lovely comment. Big smile here. :)KD
excellent session, crisp and complete coverage..
Thank you. :)KD
I love your work and explanation, you deserve to be the president 💪💪
Thank you so much. Not sure I would want the job of president though! :)KD
this is such a good video! I never had the idea of using what you call the "modified gadget" for the place values of 2s complement numbers. I came here thinking I knew my 2s complement and I'm leaving having learned not only the standard for floating point numbers, but an incredibly valuable tool for working with 2s complement. Thank you!
Thanks so much for this video, excellently paced for taking notes and really absorbing and understanding the information, with lots of great explanations as to WHY steps are taken. TY
You are most welcome :)KD
The exponent bias part was masterful..
I would just like to say thank you for this video it was very helpful for my upper div assembly lab assignment on this topic. Thank you for the video!
You ae most welcome :)KD
This was a very helpful video. Came in clutch right before the due date. Thank you!
You're very welcome :)KD
Thank you so much for explaining this in such a concise manner
You're very welcome :)KD
Thank you Kevin Drumm for this amazing video
My pleasure :)KD
Nicely and neatly explained! Got all my answers from the single video. Keep up the good work! XD
Delighted to be of service :)KD
More IEEE standard videos!!! Thank you so much. VonC explained it great on stackoverflow but I still referred to this video!
Working on it :)KD
Well explained. Worth watching the video. Keep on doing this. All the best!
Thanks a lot for this great explanation
I am from Germany and i am currently playing with the x32 osc software which uses these floation points to control the faders of each single channel
There is no open source javascript implementation of this calculation on the internet
And also no good explanation
With the help of this video I've managed to create my own conversion function
Thanks a lot
Wow, what an amazing video. Thank you so much.
Thank you so much for your detailed explanation. It is excellent and exactly what I was looking for to understand this topic.
You are most welcome :)KD
Video is very easy to understand, thank you very much!
You are very welcome :)KD
at 06:46 the header changes from example 19.5375 to 19.25 randomly, even though the example is still done with the first number.
it was wonderful..
you taught me Sth..
I LOVE YOU !
Thank you. Love U 2
:)KD
Very thankful to you for explaining it so well.
Incredibly well explained!!!
Thank you. You made my day :)KD
This is such a phenomenal video. The pace at which the animations/charts line up with your words greatly help with understanding this. To be honest, your channel is like a wikipedia for basic data representation, and should be something every teacher recommends. The only question is what exactly do you mean by 'the value of the exponent specifies how far to the left or to the right the binary should float to obtain the value in the register?' That part wasn't clear. Do you mean how much it should float to determine the mantissa? Also, what part of the floating point concept tells us where the 'decimal' starts? Is it the exponent?
Wow, thanks a lot for the awesome explanation!!!
You are very welcome ?)KD
Thank you, sir! This video really helped me grasp the concept.
Delighted to help :)KD
Brilliant presentation!
Thank you :)KD
You explain it so clearly
This is one of the nicer takes
Thank you :)KD
Amazing explanation to say the least!
Thank you :)KD
Loved it! Thank you, as always!
You're most welcome. Thanks for the comment :)KD
Very good explanation, thanks!
I'm recommending this video to my college friends. Thank you so much
Edit : also, you got a new subscriber
Thank you so much! This is so helpful for my classes!
You're very welcome :)KD
DUDE THIS VIDEO IS SO AWESOME
You are most welcome. Thanks :)KD
thank you! I think at 14:49 it's rather how many places you have to get to the right instead of left right? step 3
Amazingly great explained! Thank you
Amazing video, Thank you so much
You're very welcome :)KD
Thank you so much, an explanation well done!
You are very welcome. :)KD
very clear explanation thanks !
High quality! Thanks brother
Could you explain why the normalization of the mantissa is "1.1 * 2^-4" instead of "0.11 * 2^-3" as you explained that normalization for positive numbers should be in the form of 0.1xxxxxx * 2^x in the video of "Binary 6 Normalized Floating Point Binary Fractions"?
thanks, very helpful and concise
You're welcome :)KD
Thank you for your brilliant explanation sir , but I have a question . in the last two examples when we converted the number 123 to binary , why one started with 01 and the other with 11 ?
Please represent 0.1 + 0.2 in IEEE 754 format and also how to equate exponents if we have -4 and -3
Thx god i found this gem
Thank you :)KD
Thanks for the explanation!
You are very welcome :)KD
Obrigado amigo você e Jesus são quase a mesma pessoa, salvou muito
Obrigado. Você é muito gentil. :)KD
If you think about it, there's always gonna be 1 at the end💥
That’s the IEEE 754 floating point double precision 32-bit format
can you explain IEEE 754 floating point double precision 64-bit format
Small error: While explaning converting from 19.59375, the title of the slide switches to converting to 19.25. the bottom of the slide seems to continue on the 19.59375 however.
Ahhh! Thanks :)KD
Really helpful tutorial! Thank you very much!
You're very welcome :)KD
Do you know where I can read more about this theory of converting denary number to pure binary, or maybe you could explain it? I understand why repeatedly dividing whole part by 2 works, but I can't understand how repeatedly multiplying fractional part by 2 gives us binary representation. I really want to understand this part and not just memorise it
I think converting between binary and denary by successively multiplying or dividing by two is nice 'trick' but I prefer to teach binary from first principles. It's important to realise that each bit has a place value. Perhaps my binary playlist will help. ua-cam.com/video/cJNm938Xwao/v-deo.html :)KD
Your video is great. One of the most boring stuff I had to learn in my life.
:)KD
very helpful, but why in your first example, you want to convert the value 19.25 to binary but in step 2 you also use 19.59375, can you explain me, very thanks, you lesson is very valuable
Very well explained thank you
IEEE should have inverted the sign-bit convention so that 1 means positive an 0 means negative. That would allow you to compare two floats bitwise starting with the most-significant bit and the first to have a 1 where the other has a zero would be the larger number.
Really Really helpful, thank you!
Delighted to help :)KD
I would have liked to see you convert -3.303139... E-36 back to a 32 bit binary number. I am struggling with how to deal with the base 10 exponent. It's not obvious to me yet.
FANTASTIC!! THANK YOU
You're most welcome :)KD
i'm confused on the last question of this video, where did you get 10 to the -36 from when you were times it by -3.3031391268106278973921496695945?
i, and many others i suppose, would appreciate if you could do a video on guard, round and sticky bits.
OK - I'll see what I can do :)KD
I haven't spent so long on a topic like this. Looks so simple but so confusing.
It may be worth going back to the start of my playlist on binary and working your way through theses. This video is the last in a series.
@@ComputerScienceLessons from this video i put everything together with what i learned and i understand it now. Thank you
What is a fixed-sized register?? Could you link any related resource, please? and in the beginning, you said -" the value of exponent specifies how far to the left or the right the binary point should float in order to obtain the actual value in the register." - Could you please explain "register" here? is the value in register or what!!
A register is the smallest unit of storage found in the CPU. In an older machine, a register could hold 32 bits. Modern machines have 64 bit registers (or even 128 bit registers). Registers are always fixed in size. I pointed out that they were fixed in size to emphasise that register size imposes a limitation on the size of the number it can store. I strongly recommend that you take a look at my playlist on binary which explains this in more detail. ua-cam.com/play/PLTd6ceoshprcpen2Jvs_JiuvWvqIAkzea.html :)KD
A really good explanation and a nice visualisation, great video. Can you also make a video about the Quine-McCluskey method ?
I'll take a look at it. Sounds like an interesting programming project. :)KD
How do you do basic arithmetic operations in IEEE form?
u are the best one thanks a lot
You're very kind. Thank you :)KD
Thanks for the splendid video!
Will you record a video on rounding up/down the floating point formats and the associated errors?
very good thank you!
You're very welcome :)KD
I would love to read the original IEEE document on the subject, but it seems that is only accessible paying and i dont have the money right now :(
Yes - it's a shame they don't publish it for free. :)KD
Great video! Why is the leftmost bit of the mantissa always 1? And how is this different to the 0.1 / 1.0 rule of normalised floating point binary?
Is it something to do with the fact that IEEE format separates the sign bit?
thanks, this was really helpful!
10:06 I do not understand why the negative numbers are now on top instead of the bottom.
Thank you for the amazing video you are very good Teacher!!! I want to ask why we div with 2^-118 at 20:27
???
Those repeating bit patterns is the reason we don't use floats for our bank account.
Hi please make IEEE 754 FOR fractional
You are a legend!
You are too kind :)KD
excellent
Thank you :)KD
I am confused on how he got 4 at 7:26 can anyone please explain?
VERY GOOD JOB. But question changing on 6.45 :))
Thank You !!!!
You are most welcome :)KD