CppCon 2015: John Farrier “Demystifying Floating Point"

Пікірлер: 31

  • @soulstudiosmusic
    @soulstudiosmusic8 жыл бұрын

    Perplexing subject for a good talk.

  • @skilz8098
    @skilz80986 жыл бұрын

    The comment about stack overflow is fairly on point.

  • @CharIie83
    @CharIie836 жыл бұрын

    great talk

  • @georganatoly6646
    @georganatoly66464 жыл бұрын

    Very good talk. It wouldn't have occurred to me to group like exponentiation.

  • @acmdz
    @acmdz8 жыл бұрын

    Oh, that's really helpful!

  • @victornoagbodji
    @victornoagbodji8 жыл бұрын

    great talk : )

  • @richardcavell
    @richardcavell6 жыл бұрын

    Kudos for the Guru Meditation at 6:15

  • @Silvertestrun
    @Silvertestrun7 ай бұрын

    Thank you!

  • @dascandy
    @dascandy8 жыл бұрын

    There are the same amount of numbers between 0.5 and 0.25, between 0.25 and 0.125, between 0.125 and 0.0625, ... so if you count the number of floats between 0 and 1, that's a lot more than between 1 and 2. In fact, there are 255 "groups" of numbers, each from N to N*2, each having 8388608 numbers.

  • @justcurious1940

    @justcurious1940

    Жыл бұрын

    u are totally correct but i just wanna say that we only have 254 groups for normal values and 1 group for NANs and 1 group for subnormals

  • @enhex
    @enhex8 жыл бұрын

    Why 0.0 to 0.1 have more precision? Is it because every floating point number is unique, and there's a lot of overlaps up to 2^23?

  • @alexloktionoff6833
    @alexloktionoff6833 Жыл бұрын

    Can anybody provide a link to those 50 equations /*test-cases???*/ that must fork same on all IEEE754 machines?

  • @janasandeep
    @janasandeep8 жыл бұрын

    At 11:08 (slide 24), the binary representation of 1.0e-37 shown here is different from what I got using visual studio: EA1C0802 (little endian). Why so? The latter does not seem to be a denormalized number.

  • @soulstudiosmusic

    @soulstudiosmusic

    8 жыл бұрын

    +sandeep jana See section where he mentions the three different types of floating point numbers available in VS.

  • @hanyouchu4661
    @hanyouchu46617 жыл бұрын

    The difference between float and double for the Kahan version of triangle area is due to input conversion from decimal to binary. If you cast the float input to double, the results are almost identical.

  • @alexloktionoff6833

    @alexloktionoff6833

    Жыл бұрын

    oh yea, don't forget to put f or d suffixes to all constants in the code to avoid double rounding!

  • @ehsanamini8501
    @ehsanamini85012 жыл бұрын

    @4:31 and @8:10 why does -1^0 compute to zero? Shouldn't it be 1? Is it a typo or am I missing something?

  • @ehsanamini8501

    @ehsanamini8501

    2 жыл бұрын

    Oh I get it now. 1 represents a negative number, 0 a positive number.

  • @RajeshKumar28sep
    @RajeshKumar28sep2 жыл бұрын

    5:22, for 64 bits its should be 11 bit of exp

  • @MaherBaba
    @MaherBaba8 жыл бұрын

    what u mean?

  • @Calm_Energy
    @Calm_Energy5 жыл бұрын

    Units in last place = ulps. This is a measurement I've never seen before. Some compilers can control how rounding works via options.

  • @alexloktionoff6833

    @alexloktionoff6833

    Жыл бұрын

    but not all h/w follows bit exact rounding. +/-.5ulp what we can rely...

  • @Courserasrikanthdrk
    @Courserasrikanthdrk7 жыл бұрын

    ok,,,,,,,,,,,,,the talk has expressed very important maths topics :----------------------------------------------------------------------)

  • @Xeverous
    @Xeverous5 жыл бұрын

    -ffast-math not mentioned?

  • @MaherBaba
    @MaherBaba8 жыл бұрын

    you see everything don't you

  • @dascandy
    @dascandy8 жыл бұрын

    Your 64-bit floats occupy 65 bits.

  • @pranavjain3905

    @pranavjain3905

    6 жыл бұрын

    the exponent register should have 11 exponent bits

  • @andik70
    @andik708 жыл бұрын

    16:56 'on the CPU math is done exactly and then rounded to give it back to you' did you really say that? Do you really mean that?

  • @richardcavell

    @richardcavell

    5 жыл бұрын

    Theoretically, that’s what happens. Think conceptually.

  • @UpstreamNL
    @UpstreamNL5 жыл бұрын

    Confusing talk. This guy is all over the place. Every slide in no way connects to the previous slide.

Келесі