HOW TO: Convert IEEE-754 Single-Precision Binary to Decimal
Ғылым және технология
For an interactive explanation of how this conversion process works, I made a webapp that basically summarizes this video:
float-visualizer.surge.sh
Here's the source code on GitHub for those interested: github.com/stevenpetryk/float...
Пікірлер: 129
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
@userwithcoolnamelol
3 ай бұрын
how are you recently? are you work in this field?😀
A million thanks to you Steven.. You made this so much easier to many of us!
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.
dude, you don't know how much you have helped me, thank you and regards from Argentina!
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.
@amanofculture5575
2 ай бұрын
Hello what have you become, are you now working in the field?
this is so nice, clear and easy to follow!! This helps me a lot with my up coming exam!! Thank you!!!
@amanofculture5575
2 ай бұрын
Hello what have you become, are you now working in the field?
Nice and clear.. have been struggling to understand it for 2 days. Checked several videos. Thanks
@amanofculture5575
2 ай бұрын
Hello what have you become, are you now working in the field?
This save my life! Thank so much!
@amanofculture5575
2 ай бұрын
Hello what have you become, are you now working in the field?
Thank you! Very easy to understand. I used your method to write the code for an assignment asking me to do this.
@amanofculture5575
2 ай бұрын
Hello what have you become, are you now working in the field?
I have an assignment due at 12 tonight, let me just say this saved my life.
finally, a comprehensive explanation of this. Thanks!
@amanofculture5575
2 ай бұрын
Hello what have you become, are you now working in the field?
Best explanation on I've seen and you've got perfect English. 😛
tysm! it's so easy to understand it when you explained!
saved me a lot of time, easy tutorial thanks a lot!
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!
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 💯💯
watching this 3 hours before my test and ill get the 8 marks all thanks to you!!
Fantastic! Very easily explained.
man i have been going all over the internet and all places to understand this thank you soooooooooo much you saved me
@amanofculture5575
2 ай бұрын
Hello what have you become, are you now working in the field?
@fancy_pixel
2 ай бұрын
@@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
Enfin j'ai compris une manière très simple et très efficace! merci
This was a life saver. Thanks man!
Thanks for your explanation. It is very clear
Thank you very much, you are very good at explaining this! :)
The fps is amazing in this video...ahhh, also great explanation!
@amanofculture5575
2 ай бұрын
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
@amanofculture5575
2 ай бұрын
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
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!
@amanofculture5575
2 ай бұрын
Hello what have you become, are you now working in the field?
This was so helpful. Thanks!
You are doing a god's work, thank you so much for this.
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.
thank you so much for this explaination
This video is a godsend thank you very much
Thanks mate I passed my midterm because of you
@amanofculture5575
2 ай бұрын
Hello what have you become, are you now working in the field?
great video, very clear
Thank you, Steven.
Thank you Steven
u legend saved me watching a 2 hr lecture
Gracias desde Argentina, necesitaba saber como se hacía la cuenta :)
You're a life saver!
thanks helped a lot
Love you bae! You amazing!
gracias tio gringo
For those who wanted to watch the video mentioned at 2:12 referencing bias, here it is: kzread.info/dash/bejne/pqxhr8GrocvbhaQ.html
thank you dude
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.
@Akatsuu
5 жыл бұрын
It should have been (-1)^s so that s=0 gives you +1 and s=1 1 gives you -1
Thank you steve. Scuba Steve jiji
good video
Thank you for using a pen this time
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, 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?
@ronaknarkhede674
2 жыл бұрын
3 years and still no one answered 🥲
@pedrompecanha
2 жыл бұрын
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
@Aiven197
Жыл бұрын
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)
When to take 128 and 127 exponent in biased adding exponent
thnks..
why would you want answer in that form as oppossed to -8.2152949e-34 OR 0.00000000000000000000000000000000002152949 ? Any other reason besides convenience?
I was looking for how to get decimal digits something -e x powers of 10 like 1.2e1 for 12
How did he get 17-127 for the exponent? I understand where 127 comes from but where does 17 come from?
@mateuszszwed3487
5 жыл бұрын
17 = 16 + 1 = 2^4 + 2^0 = 100001 in binary
@arpitmenghre9210
5 жыл бұрын
By converting exp(binary) into decimal
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
@bratbalal9042
7 жыл бұрын
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
@kutilkol
7 жыл бұрын
try calcualting 2^-4 + 2^-8= 8^-1 + 256^-1 = 0,06640625
@BrainSlugs83
6 жыл бұрын
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.
Man I thought e was Euler’s number and I was like wtf
@option2303
3 жыл бұрын
lol
e is still same ?
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)).
how does this process differ from converting "ms binary" format single precision binary to decimal?
@stevenpetryk6869
3 жыл бұрын
¯\_(ツ)_/¯ never heard of MS binary
@stu6097
3 жыл бұрын
@@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
@stevenpetryk6869
3 жыл бұрын
@@stu6097 seems like it might just be the same but with the fields swapped around.
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
@stevenpetryk6869
3 жыл бұрын
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 :)
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!
what is the EXP.? & mantissa?
@alfianrsa
7 жыл бұрын
EXP = Exponent
@BrainSlugs83
6 жыл бұрын
Mantissa is the significand (biased by 1): en.wikipedia.org/wiki/Significand Exp is the exponent (biased by 127): en.wikipedia.org/wiki/Exponentiation
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?
@Antchovi
5 жыл бұрын
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?
@LIFE4VW
5 жыл бұрын
@@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.
are you eigenchris who teaches tensors....sound v like him
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.
@stevenpetryk6869
Жыл бұрын
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.
this is a v familiar voice
What is 1+m
6:03 "formula on the power points" ? Where is this formula?
@stevenpetryk6869
4 жыл бұрын
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 :)
What about 64 bits?
@stevenpetryk6869
3 жыл бұрын
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
Sure that's not 10^-110?
github link is dead
@stevenpetryk6869
2 жыл бұрын
True that. Must’ve deleted the project at some point. It was some old, not-great React code anyway.
@AmCanTech
2 жыл бұрын
@@stevenpetryk6869 looks cool anyways
6:30
@stevenpetryk6869
3 жыл бұрын
Agreed.
127 so all bits zero means zero.
"for unknown reasons" they were problably high that they.. ahah
@BrainSlugs83
6 жыл бұрын
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. :)
Suite de ce exercicr
@oumalilmi4882
Жыл бұрын
Mercieee infinement monsieur
from where 17 came
@Akatsuu
5 жыл бұрын
0001 0001 is equal to 17 in decimal
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!!!!
@stevenpetryk6869
4 жыл бұрын
yeah you're right, sorry!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
can i ask why minus 127 ?
@supposetobenick
8 жыл бұрын
+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)
@BrainSlugs83
6 жыл бұрын
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