Finally some good video. I searched the yt for floating point explanation and kinda got hang of it but noone cared to explain it so closely but you helped me man, thanks.
I think one reason for using the bias instead of two's complement is to maintain the order of the numbers with respect to their value. So, the binary inequality x > y is valid.
Clear explanation; couldn't really grasp it during CDA no matter how much I tried, because of the whole thing being just PowerPoints. Also, bonus points for using Pilot pens, I have the same kind! And even more for providing source code!
Excellent! Very good explanation! And i don't understand the complaints about the formula used in the end.It's logical! If you understand what's going on in there then this formula seems obvious to you! Anyway...Thanks!
Can you explain the significance of -1^s? S may only be 0 or 1, and -1^0 and -1^1 both equate to -1. Due to this, I am getting the correct answer for every number I try, but it is always a negative.
Thank you, this was very helpful! But for the sake of curiosity/masochism, then why does 0x00000000 = 0.0? [0] [00000000] [00000000000000000000000] Sign: -1^0 = 1 Exp: (0 - 127) = -127 M: (1 + 0.0) = 1.0 (1) * (1) * (2^-127) = 5.8775e-39, or 0.0000000000000000000000000000000000000058775 Which is extremely close to zero, but still not quite. If it is simply rounded to 0.0 at some point because the number is ridiculously small, i'd understand, but then when I enter 0x00000001 into any online converter, it comes out as 1.4013e-45 which is somehow even smaller. Is it just a rule that 0x00000000 is interpreted as 0.0?
it's just a rule, it's a special case, at least that was what I was thought. also, for instance, minus infinity is represented by sign = 1, exp = 255 and M = 0
It's a special case. When all bits in the exponent are 0, the formula changes and now Exp = 1-bias (127 for 32 bits) and M = 0+mantissa. As you can see, with this 0x0 = 0.0. Another special case is when all bits in the exponent are 1, where you have 3 options: -If the sign bit is 0 and all bits in the mantissa are 0, then the value is infinity -If the sign bit is 1 and all the bits in the mantissa are 0, then the value is minus infinity -If the sign bit is 0 or 1 and any bits in the mantissa are not 0, then the "value" is NaN (Not a number)
Well actually the reason for not representing the exponent using 2's complement is not unknown. IEEE did it so that it was easier to sort. In a biased expression. You can just look at the exponent and say whether a number is greater than or less than another number. If it was in a 2's complement format then a quick sorting would take more time since you had to convert the 2's complement and then compare
Right, it was unknown to *me*-I wasn't trying to imply that they did it for literally no reason, that would be silly. I appreciate the explanation though, hopefully others will find it useful :)
why would you want answer in that form as oppossed to -8.2152949e-34 OR 0.00000000000000000000000000000000002152949 ? Any other reason besides convenience?
Don't you need to do a two's complement to the number first? As far as I understand, the decimal representation of a negative binary number, using two's complement, is -(two's complement(the number)).
@@stevenpetryk6869 It was used before IEEE format on IBM 360 computers. The layout is different for where to find the sign bit, and bais is 128 but their might be some other trick to getting a floating point number out. I was looking for the manual handwritten way of understanding the math. en.wikipedia.org/wiki/Microsoft_Binary_Format
Highest is 128, lowest is -127. If you think about it rationally, since the exponent is 8 bits, you know that if it's unsigned 1111 1111 gives you 255, and 0000 0000 gives you 0. Since the bias is -127, you just subtract that from whatever you have in the exponent. so the highest possible number is 255-127= 128, and the lowest possible is 0-127= -127. Does that help?
@@Antchovi It does! Thank you a lot, my teacher have told the wrong number to our class. I "confronted" him with it and he did explain once more with the right numbers. After the first time the class was: i`m quit.
hey bro.. Why the mantissan value which is m = 2 power of(-4) + 2 power of (-8) = suddenly become 0.06640625 can you tell me the details to get that value. Thanks in advance
Alfian rs its in base 2 and need to convert to base 10, first digit after 0. is 2 to the power -1, fourth digit2 to the power -4, eighth digit 2 to the power -8
That's literally how numbers work, bro. -- Like... 2^(-4) + 2^(-8) == 0.06640625. -- Is your question about how negative exponents work? -- 'cause ... I mean... just use a calculator? -- If you really need to do it in your head, instead of using negative exponents (i.e. each bit having a value of 2^(-1), 2^(-2), etc..) -- just assign each bit fractional power of two values; that is: 1/2, 1/4, 1/8, 1/16 and so on (it's a bit more readable IMHO). -- So, in this case, you're just adding 1/16 + 1/256 == 0.06640625.
what if I have to write the number as X*10^Y instead of M*2^E as you have written in the end? Can you please answer asap because I have an exam tomorrow!
please not to add the brackets when solving so instead of writting -1^s you should write (-1)^s because -1^s = -1 in case s is 0 or but the (-1)^s= 0 when the s is 0 and -1 when s is one!!!!
Nah. -- I mean... maybe? ... but irrelevant... -- Bottom line is they cranked this shit out in the 50s and 60s, and two's complement hadn't won the war yet on signed number representation. At least they were consistent... like, the mantissa is also biased (by 1, as he explains, though with different language...) -- Bottom line is: when all you have a hammer, every problem looks like a nail. :)
+BCGJohnny because if you have studied binary representations you would know that in biased representation for n-bits(this case 8) 00000000(binary) maps to -(n^2) -1 and other goes upward. Since you want the real value u have to convert. For example, if your exponent u get a value for 0000000( normal binary) u get 0(decimal) but basically in biased representation it is -127(decimal)
It's called "Excess-127", it's an alternative binary encoding for signed numbers; basically when he says to subtract 127, he's just explaining how to interpret these kinds of values as decimal numbers. More info: en.wikipedia.org/wiki/Signed_number_representations#Offset_binary en.wikipedia.org/wiki/Offset_binary#Excess-127
omg how can you be so calm talking about this??? i'm freaking out cause i've got a test tomorrow, but now it seems so simple
how are you recently? are you work in this field?😀
Before this video I watched 2 video but I didn't understand from them but this video show in simple way by which I understand everything 💯💯
I have an assignment due at 12 tonight, let me just say this saved my life.
man i have been going all over the internet and all places to understand this thank you soooooooooo much you saved me
Hello what have you become, are you now working in the field?
@@amanofculture5575 Currently i am moving countries so not working but I have indeed worked for more than 2 years in different roles in the dield
Finally some good video.
I searched the yt for floating point explanation and kinda got hang of it but noone cared to explain it so closely but you helped me man, thanks.
A million thanks to you Steven.. You made this so much easier to many of us!
watching this 3 hours before my test and ill get the 8 marks all thanks to you!!
finally, a comprehensive explanation of this. Thanks!
Hello what have you become, are you now working in the field?
This save my life! Thank so much!
Hello what have you become, are you now working in the field?
dude, you don't know how much you have helped me, thank you and regards from Argentina!
u legend saved me watching a 2 hr lecture
Thanks mate I passed my midterm because of you
Hello what have you become, are you now working in the field?
Thanks a lot I found a person that u who discuss the actual exponent which is in negative
Nice and clear.. have been struggling to understand it for 2 days. Checked several videos. Thanks
Hello what have you become, are you now working in the field?
Thank you so so much! I finally can finish my assignment and also use this video to study for my test :)
Thank you for this explanation. This has shown me a different approach.
Hello what have you become, are you now working in the field?
wooow you have made me understand it way batter than my lecturer, thanks
Hello what have you become, are you now working in the field?
I think one reason for using the bias instead of two's complement is to maintain the order of the numbers with respect to their value. So, the binary inequality x > y is valid.
The fps is amazing in this video...ahhh, also great explanation!
Hello what have you become, are you now working in the field?
Clear explanation; couldn't really grasp it during CDA no matter how much I tried, because of the whole thing being just PowerPoints. Also, bonus points for using Pilot pens, I have the same kind! And even more for providing source code!
Hello what have you become, are you now working in the field?
Excellent! Very good explanation! And i don't understand the complaints about the formula used in the end.It's logical! If you understand what's going on in there then this formula seems obvious to you! Anyway...Thanks!
Thank you! Very easy to understand. I used your method to write the code for an assignment asking me to do this.
Hello what have you become, are you now working in the field?
Enfin j'ai compris une manière très simple et très efficace! merci
tysm! it's so easy to understand it when you explained!
this is so nice, clear and easy to follow!! This helps me a lot with my up coming exam!! Thank you!!!
Hello what have you become, are you now working in the field?
Best explanation on I've seen and you've got perfect English. 😛
You are doing a god's work, thank you so much for this.
For those who wanted to watch the video mentioned at 2:12 referencing bias, here it is: czcams.com/video/tx-M_rqhuUA/video.html
Thanks for your explanation. It is very clear
Fantastic!
Very easily explained.
Thank you, Steven.
Thank you for using a pen this time
Gracias desde Argentina, necesitaba saber como se hacía la cuenta :)
This video is a godsend thank you very much
saved me a lot of time, easy tutorial thanks a lot!
This was a life saver. Thanks man!
thank you so much for this explaination
Thank you very much, you are very good at explaining this! :)
Can you explain the significance of -1^s?
S may only be 0 or 1, and -1^0 and -1^1 both equate to -1. Due to this, I am getting the correct answer for every number I try, but it is always a negative.
It should have been (-1)^s so that s=0 gives you +1 and s=1 1 gives you -1
You're a life saver!
This was so helpful. Thanks!
Thank you, this was very helpful!
But for the sake of curiosity/masochism, then why does 0x00000000 = 0.0?
[0] [00000000] [00000000000000000000000]
Sign: -1^0 = 1
Exp: (0 - 127) = -127
M: (1 + 0.0) = 1.0
(1) * (1) * (2^-127) = 5.8775e-39, or 0.0000000000000000000000000000000000000058775
Which is extremely close to zero, but still not quite. If it is simply rounded to 0.0 at some point because the number is ridiculously small, i'd understand, but then when I enter 0x00000001 into any online converter, it comes out as 1.4013e-45 which is somehow even smaller.
Is it just a rule that 0x00000000 is interpreted as 0.0?
3 years and still no one answered 🥲
it's just a rule, it's a special case, at least that was what I was thought. also, for instance, minus infinity is represented by sign = 1, exp = 255 and M = 0
It's a special case.
When all bits in the exponent are 0, the formula changes and now Exp = 1-bias (127 for 32 bits) and M = 0+mantissa. As you can see, with this 0x0 = 0.0.
Another special case is when all bits in the exponent are 1, where you have 3 options:
-If the sign bit is 0 and all bits in the mantissa are 0, then the value is infinity
-If the sign bit is 1 and all the bits in the mantissa are 0, then the value is minus infinity
-If the sign bit is 0 or 1 and any bits in the mantissa are not 0, then the "value" is NaN (Not a number)
great video, very clear
Thank you Steven
How did he get 17-127 for the exponent? I understand where 127 comes from but where does 17 come from?
17 = 16 + 1 = 2^4 + 2^0 = 100001 in binary
By converting exp(binary) into decimal
Well actually the reason for not representing the exponent using 2's complement is not unknown. IEEE did it so that it was easier to sort. In a biased expression. You can just look at the exponent and say whether a number is greater than or less than another number. If it was in a 2's complement format then a quick sorting would take more time since you had to convert the 2's complement and then compare
Right, it was unknown to *me*-I wasn't trying to imply that they did it for literally no reason, that would be silly. I appreciate the explanation though, hopefully others will find it useful :)
Love you bae! You amazing!
thanks helped a lot
Thank you steve. Scuba Steve jiji
Man I thought e was Euler’s number and I was like wtf
lol
How do you find out the sign of the number? I get that 0= pos and 1 = neg but what made him come to that conclusion is it based on the first digit?
thank you dude
why would you want answer in that form as oppossed to -8.2152949e-34 OR 0.00000000000000000000000000000000002152949 ? Any other reason besides convenience?
gracias tio gringo
Don't you need to do a two's complement to the number first? As far as I understand, the decimal representation of a negative binary number, using two's complement, is -(two's complement(the number)).
I was looking for how to get decimal digits something -e x powers of 10 like 1.2e1 for 12
6:03 "formula on the power points" ? Where is this formula?
These videos were made for students at University of Central Florida and got popular on accident-I was addressing those students when I said that :)
When to take 128 and 127 exponent in biased adding exponent
But you did not complete the job of converting the result to decimal? By leaving the exponent as a power of 2 the job is only half finished.
It was done to the degree demanded by the homework assigned by my professor at the time. This video wasn’t intended for a wider audience.
good video
What is 1+m
are you eigenchris who teaches tensors....sound v like him
how does this process differ from converting "ms binary" format single precision binary to decimal?
¯\_(ツ)_/¯ never heard of MS binary
@@stevenpetryk6869 It was used before IEEE format on IBM 360 computers. The layout is different for where to find the sign bit, and bais is 128 but their might be some other trick to getting a floating point number out. I was looking for the manual handwritten way of understanding the math. en.wikipedia.org/wiki/Microsoft_Binary_Format
@@stu6097 seems like it might just be the same but with the fields swapped around.
127 so all bits zero means zero.
e is still same ?
Wait, the highest possible number to the exponent is 127 and the lowest is -126! That´s what I was tought for. Can somebody explain please?
Highest is 128, lowest is -127. If you think about it rationally, since the exponent is 8 bits, you know that if it's unsigned 1111 1111 gives you 255, and 0000 0000 gives you 0. Since the bias is -127, you just subtract that from whatever you have in the exponent. so the highest possible number is 255-127= 128, and the lowest possible is 0-127= -127. Does that help?
@@Antchovi It does! Thank you a lot, my teacher have told the wrong number to our class. I "confronted" him with it and he did explain once more with the right numbers. After the first time the class was: i`m quit.
Sure that's not 10^-110?
hey bro.. Why the mantissan value which is m = 2 power of(-4) + 2 power of (-8) = suddenly become 0.06640625
can you tell me the details to get that value. Thanks in advance
Alfian rs its in base 2 and need to convert to base 10, first digit after 0. is 2 to the power -1, fourth digit2 to the power -4, eighth digit 2 to the power -8
try calcualting 2^-4 + 2^-8= 8^-1 + 256^-1 = 0,06640625
That's literally how numbers work, bro. -- Like... 2^(-4) + 2^(-8) == 0.06640625. -- Is your question about how negative exponents work? -- 'cause ... I mean... just use a calculator? -- If you really need to do it in your head, instead of using negative exponents (i.e. each bit having a value of 2^(-1), 2^(-2), etc..) -- just assign each bit fractional power of two values; that is: 1/2, 1/4, 1/8, 1/16 and so on (it's a bit more readable IMHO). -- So, in this case, you're just adding 1/16 + 1/256 == 0.06640625.
what if I have to write the number as X*10^Y instead of M*2^E as you have written in the end? Can you please answer asap because I have an exam tomorrow!
this is a v familiar voice
What about 64 bits?
Same shit, but the exponent has 11 bits and a bias of 1023, and the mantissa has 52 bits:
en.wikipedia.org/wiki/Double-precision_floating-point_format
what is the EXP.? & mantissa?
EXP = Exponent
Mantissa is the significand (biased by 1): en.wikipedia.org/wiki/Significand
Exp is the exponent (biased by 127): en.wikipedia.org/wiki/Exponentiation
from where 17 came
0001 0001 is equal to 17 in decimal
thnks..
please not to add the brackets when solving so instead of writting -1^s you should write (-1)^s because -1^s = -1 in case s is 0 or but the (-1)^s= 0 when the s is 0 and -1 when s is one!!!!
yeah you're right, sorry!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
github link is dead
True that. Must’ve deleted the project at some point. It was some old, not-great React code anyway.
@@stevenpetryk6869 looks cool anyways
Suite de ce exercicr
Mercieee infinement monsieur
6:30
Agreed.
"for unknown reasons" they were problably high that they.. ahah
Nah. -- I mean... maybe? ... but irrelevant... -- Bottom line is they cranked this shit out in the 50s and 60s, and two's complement hadn't won the war yet on signed number representation. At least they were consistent... like, the mantissa is also biased (by 1, as he explains, though with different language...) -- Bottom line is: when all you have a hammer, every problem looks like a nail. :)
can i ask why minus 127 ?
+BCGJohnny because if you have studied binary representations you would know that in biased representation for n-bits(this case 8) 00000000(binary) maps to -(n^2) -1 and other goes upward.
Since you want the real value u have to convert. For example, if your exponent u get a value for 0000000( normal binary) u get 0(decimal) but basically in biased representation it is -127(decimal)
It's called "Excess-127", it's an alternative binary encoding for signed numbers; basically when he says to subtract 127, he's just explaining how to interpret these kinds of values as decimal numbers.
More info:
en.wikipedia.org/wiki/Signed_number_representations#Offset_binary
en.wikipedia.org/wiki/Offset_binary#Excess-127