IEEE 754 Standard for Floating Point Binary Arithmetic

Поділитися
Вставка
  • Опубліковано 6 сер 2024
  • This computer science video describes the IEEE 754 standard for floating point binary. The layouts of single precision, double precision and quadruple precision floating point binary numbers are described, including the sign bit, the biased exponent and the mantissa. Examples of how to convert between denary (base 10) and single precision floating point binary numbers are shown, including how to round the mantissa correctly. There are also some example conversions that you can try yourself, along with their solutions. The way the exponent bias works and why this particular technique is used in the IEEE 754 standard, rather than two’s complement, is demonstrated. Some reserved exponent values are also mentioned.
    0:00 Introduction
    0:14 Review of fixed point binary
    1:02 Review of floating point binary using two's complement
    2:44 The IEEE 754 standard
    4:08 Conversion from denary to single precision floating point binary
    8:25 The exponent bias
    13:42 Example conversions and solutions

КОМЕНТАРІ • 232

  • @MuyenKamran1nehal
    @MuyenKamran1nehal 3 роки тому +72

    This is amazing. You explained in 20 minutes what my professor could not in 90 minutes.

  • @neolord50pro77
    @neolord50pro77 3 роки тому +62

    How scared and ignorant i was about those floating points, but now i'm feeling enlightened and empowered with knowledge. Thank you!

    • @ComputerScienceLessons
      @ComputerScienceLessons  3 роки тому +8

      That's music to a teacher's ears :)KD

    • @vit6723
      @vit6723 3 роки тому

      @@ComputerScienceLessons what if the given would be .12?

  • @jbkhan1135
    @jbkhan1135 4 роки тому +139

    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!

    • @ComputerScienceLessons
      @ComputerScienceLessons  4 роки тому +19

      It's very kind of you to say so. Thank you :)KD

    • @febiefebriansyah
      @febiefebriansyah 3 роки тому

      @@ComputerScienceLessons 6:44 why the number is chage (19.5.. to 19.5)?
      btw, i think the voice volume is too low 🙏

    • @raffaelechinotti5244
      @raffaelechinotti5244 2 роки тому

      @@ComputerScienceLessons i totally agree with him, BECAUSE I AM in university goddamn it can't you be my professor? :l

  • @NoName-tj8dm
    @NoName-tj8dm Рік тому +13

    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.

  • @gabrielruszala4432
    @gabrielruszala4432 Рік тому +4

    This guy's channel name is literally "Computer Science." Epic.

  • @jannesvanquaillie9151
    @jannesvanquaillie9151 4 роки тому +65

    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.

  • @ganeshharikrishnan
    @ganeshharikrishnan 3 роки тому +22

    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

  • @bobdemp8691
    @bobdemp8691 2 роки тому +5

    Really good. 20 years ago this went over my head and always meant to revisit it. Very clear explanation.

  • @annilator3000
    @annilator3000 Рік тому +1

    that's the most comprehensive video I could find on this topic, great job

  • @hayden.A0
    @hayden.A0 4 роки тому +5

    Thanks again. Floating point numbers were always very confusing to me until I found your channel

  • @poserGirl863
    @poserGirl863 3 роки тому

    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!

  • @LoudnessWar
    @LoudnessWar 3 роки тому +2

    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.

    • @ComputerScienceLessons
      @ComputerScienceLessons  3 роки тому

      Thank you for taking the time to post such a lovely comment. It makes it all worthwhile. :)KD

  • @clarencedomond5837
    @clarencedomond5837 3 роки тому +1

    This channel is a goldmine, you are saving lives sir please do not stop making videos!

  • @segafrompk
    @segafrompk 4 роки тому +6

    This makes it really clear why simple math operations with floating point numbers sometimes give weird X.99999999 results. Great video!

  • @swedishguyonyoutube4684
    @swedishguyonyoutube4684 2 роки тому +2

    4:08 is an incredibly well thought out, easy to follow, pedagogical explanation of conversion! Thanks a bunch!

  • @florisvanderhout2675
    @florisvanderhout2675 3 роки тому +3

    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.

  • @kellerw4800
    @kellerw4800 2 роки тому +1

    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

  • @roshanafernando2443
    @roshanafernando2443 2 роки тому

    Well explained. Worth watching the video. Keep on doing this. All the best!

  • @Sciller4
    @Sciller4 3 роки тому +7

    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!

  • @MIbrahimKh
    @MIbrahimKh 3 роки тому +2

    Really made me "floating" with joy, thanks teacher!

  • @Rahul-fq9kf
    @Rahul-fq9kf 2 роки тому

    Very thankful to you for explaining it so well.

  • @kannadiga3644
    @kannadiga3644 2 роки тому +1

    excellent session, crisp and complete coverage..

  • @estefaniac8260
    @estefaniac8260 3 роки тому +1

    Thank you so much for your detailed explanation. It is excellent and exactly what I was looking for to understand this topic.

  • @parsiabolouki7685
    @parsiabolouki7685 3 роки тому

    Amazingly great explained! Thank you

  • @xinguangmingwo2343
    @xinguangmingwo2343 3 роки тому +2

    Your video taught me IEEE 754. Thank you.

  • @varma8669
    @varma8669 Рік тому

    This was a very helpful video. Came in clutch right before the due date. Thank you!

  • @pinch-of-salt
    @pinch-of-salt 3 роки тому +2

    More IEEE standard videos!!! Thank you so much. VonC explained it great on stackoverflow but I still referred to this video!

  • @ieatnoodls
    @ieatnoodls 2 роки тому +2

    Explanation clear as the sky, thank you

  • @raghunathprabhakar2166
    @raghunathprabhakar2166 Рік тому +1

    Thank you so much for explaining this in such a concise manner

  • @JamesBrodski
    @JamesBrodski 2 роки тому +1

    Wow, what an amazing video. Thank you so much.

  • @LuchsYT
    @LuchsYT 2 роки тому +2

    TYSM! This finally made me understand the IEEE 754 standard for floating point numbers!

  • @caramucha
    @caramucha 3 роки тому +2

    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.

  • @nitinrawat4522
    @nitinrawat4522 2 роки тому +1

    Nicely and neatly explained! Got all my answers from the single video. Keep up the good work! XD

  • @user-gy8co1gk8o
    @user-gy8co1gk8o Рік тому

    Very good explanation, thanks!

  • @notgiven3971
    @notgiven3971 2 роки тому +1

    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!

  • @RawFatGod
    @RawFatGod 11 місяців тому

    You explain it so clearly

  • @user-fg6ng7ej6w
    @user-fg6ng7ej6w 3 місяці тому

    very clear explanation thanks !

  • @swun3367
    @swun3367 2 роки тому

    your way of saying Mantissa is just so perfect. has to be said.

  • @Thomas-ht9cn
    @Thomas-ht9cn 2 роки тому +1

    Thank you, sir! This video really helped me grasp the concept.

  • @victorlucki8586
    @victorlucki8586 4 роки тому +3

    Loved it! Thank you, as always!

  • @alikhaled844
    @alikhaled844 8 місяців тому

    The exponent bias part was masterful..

  • @user-om2ev8wz6g
    @user-om2ev8wz6g 3 роки тому +1

    Thank you Kevin Drumm for this amazing video

  • @rpop7911
    @rpop7911 3 роки тому +1

    Very well explained, thank you so much!

  • @petar7867
    @petar7867 2 роки тому +1

    Video is very easy to understand, thank you very much!

  • @spacemule1
    @spacemule1 3 роки тому

    High quality! Thanks brother

  • @MCMeru
    @MCMeru 3 роки тому +1

    Incredibly well explained!!!

  • @izotovadaria7151
    @izotovadaria7151 3 роки тому +1

    Thank you so much! This is so helpful for my classes!

  • @YnjeviYhhei
    @YnjeviYhhei 3 роки тому

    Very well explained thank you

  • @elchemico100
    @elchemico100 3 роки тому

    Really helpful tutorial! Thank you very much!

  • @alphanumeric2702
    @alphanumeric2702 4 роки тому +2

    Brilliant presentation!

  • @ErosMarques
    @ErosMarques 3 роки тому

    thanks, this was really helpful!

  • @roman_mf
    @roman_mf 2 роки тому +1

    Thank you so much, an explanation well done!

  • @realtissaye
    @realtissaye 2 роки тому +1

    DUDE THIS VIDEO IS SO AWESOME

  • @fromthebeattothesaber1419
    @fromthebeattothesaber1419 3 роки тому

    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

  • @tadikasxd9546
    @tadikasxd9546 2 роки тому +1

    Amazing video, Thank you so much

  • @ahmadhosseinzadeh3141
    @ahmadhosseinzadeh3141 3 роки тому

    Thanks for the splendid video!
    Will you record a video on rounding up/down the floating point formats and the associated errors?

  • @axelboy9080
    @axelboy9080 2 роки тому +1

    it was wonderful..
    you taught me Sth..
    I LOVE YOU !

  • @randyzakyasuchrady1488
    @randyzakyasuchrady1488 3 роки тому +1

    Thanks for the explanation!

  • @from2Dto3Dto4D
    @from2Dto3Dto4D 3 роки тому +1

    thanks, very helpful and concise

  • @slava_in3757
    @slava_in3757 2 роки тому +1

    Amazing explanation to say the least!

  • @ghattassaliba4910
    @ghattassaliba4910 Рік тому +1

    I love your work and explanation, you deserve to be the president 💪💪

  • @stopthecap8810
    @stopthecap8810 Рік тому

    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?

  • @larrywu8977
    @larrywu8977 3 роки тому +1

    Really Really helpful, thank you!

  • @koraltayeb8681
    @koraltayeb8681 3 роки тому +1

    FANTASTIC!! THANK YOU

  • @bakaphu1992
    @bakaphu1992 2 роки тому +1

    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.

  • @TurgutKalfaoglu
    @TurgutKalfaoglu 6 місяців тому +1

    very good thank you!

  • @ofd3769
    @ofd3769 2 роки тому +1

    u are the best one thanks a lot

  • @fkarls9282
    @fkarls9282 4 роки тому +1

    A really good explanation and a nice visualisation, great video. Can you also make a video about the Quine-McCluskey method ?

    • @ComputerScienceLessons
      @ComputerScienceLessons  4 роки тому

      I'll take a look at it. Sounds like an interesting programming project. :)KD

  • @singmantkpss
    @singmantkpss 2 роки тому +2

    Thx god i found this gem

  • @Antagon666
    @Antagon666 2 місяці тому +1

    This is one of the nicer takes

  • @bakaphu1992
    @bakaphu1992 2 роки тому +1

    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

  • @marouaabdi611
    @marouaabdi611 3 роки тому +1

    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 ?

  • @fay7725
    @fay7725 3 роки тому +2

    I'm recommending this video to my college friends. Thank you so much
    Edit : also, you got a new subscriber

  • @rosiRose676
    @rosiRose676 3 роки тому +1

    Thank You !!!!

  • @maxhmetonxrono
    @maxhmetonxrono 3 роки тому

    Thank you for the amazing video you are very good Teacher!!! I want to ask why we div with 2^-118 at 20:27
    ???

  • @lilultime6555
    @lilultime6555 2 роки тому +1

    So good

  • @oviya.n1317
    @oviya.n1317 Рік тому +1

    excellent

  • @jessebelleman8070
    @jessebelleman8070 3 роки тому +1

    You are a legend!

  • @brascoarts2634
    @brascoarts2634 3 роки тому +2

    If you think about it, there's always gonna be 1 at the end💥

  • @Lights.Camera.ActionYT
    @Lights.Camera.ActionYT Рік тому

    Please represent 0.1 + 0.2 in IEEE 754 format and also how to equate exponents if we have -4 and -3

  • @kendalwilliams5128
    @kendalwilliams5128 5 місяців тому +1

    Thanks!

  • @yiming9569
    @yiming9569 2 роки тому +2

    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"?

  • @pataruutu1
    @pataruutu1 2 роки тому +1

    i, and many others i suppose, would appreciate if you could do a video on guard, round and sticky bits.

  • @mdrezaulkarim47
    @mdrezaulkarim47 3 роки тому +1

    wow..its awesome

  • @shahebmiah2492
    @shahebmiah2492 3 роки тому

    I haven't spent so long on a topic like this. Looks so simple but so confusing.

    • @ComputerScienceLessons
      @ComputerScienceLessons  3 роки тому

      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.

    • @shahebmiah2492
      @shahebmiah2492 3 роки тому

      @@ComputerScienceLessons from this video i put everything together with what i learned and i understand it now. Thank you

  • @xianhui5302
    @xianhui5302 2 роки тому +1

    thank you T.T

  • @mattstyles4283
    @mattstyles4283 3 роки тому

    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?

    • @mattstyles4283
      @mattstyles4283 3 роки тому

      Is it something to do with the fact that IEEE format separates the sign bit?

  • @abdalrhmanbadran138
    @abdalrhmanbadran138 2 роки тому

    thanxxxxxxx youuuu relay greaaaaaat

  • @chidon7465
    @chidon7465 4 роки тому +2

    Ah now it works!

  • @bradthompson1209
    @bradthompson1209 2 роки тому

    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.

  • @shahebmiah2492
    @shahebmiah2492 3 роки тому

    Why is there a remainder 1 after when no division took place? could i please know

  • @rohitpant6473
    @rohitpant6473 3 роки тому +1

    Thanks :)

  • @tungtruong9232
    @tungtruong9232 Рік тому

    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

  • @saiankitsahoo3944
    @saiankitsahoo3944 2 роки тому

    BRILLIANT . PERIOD
    SAY NO MORE

  • @TurgutKalfaoglu
    @TurgutKalfaoglu 6 місяців тому +1

    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.

  • @keonscorner516
    @keonscorner516 3 роки тому

    That’s the IEEE 754 floating point double precision 32-bit format
    can you explain IEEE 754 floating point double precision 64-bit format

  • @Karim-nq1be
    @Karim-nq1be Рік тому +1

    Your video is great. One of the most boring stuff I had to learn in my life.

  • @floopiiisss9295
    @floopiiisss9295 29 днів тому

    I am confused on how he got 4 at 7:26 can anyone please explain?

  • @ermanerbak
    @ermanerbak Рік тому

    VERY GOOD JOB. But question changing on 6.45 :))

  • @96erardo
    @96erardo 3 роки тому +1

    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 :(