 it starts recording ok. Hello friends, welcome you all to the 22nd session of ARM based development ok. In this class we are going to see something totally different nothing will do with anything specific to ARM, but it is used in a all the processes that we have come across in most of the processes and and it is a very useful format which any engineer working on software or hardware should be aware of ok. So, whatever system we build is for solving some scientific problem you know getting some scientific solution. So, we need to know what is the floating point format is all about and how this format is used in any scientific applications for computation ok. So, this is very interesting topic you might have come across this in your C programming or any other C programing or any programming that you have done in your previous classes or courses. So, knowing about floating point representation always helps you to be aware of how a decimal number is represented inside a computer and when you need to debug something which will be very helpful if you have a good understanding of this ok. So, let us now start with that class now here we I will touch up on what is the scientific notation all about ok and what is what do we call a normalized number is ok and then the IEEE 754 format which is defined to represent a floating point number in a computer ok. There are two formats one is 32 bit wide and another is 64 bit wide it is called single precision and double precision. We are going to talk more about single precision here and I will introduce you to double precision and there is nothing, but an extension of single precision to double precision. So, maybe we can take it as an assignment to talk about write up a small paper on double precision numbers ok. So, get ready this very interesting topic I am very happy to share this with you ok let us start. Now, what is the number representation ok. So, here you know that integers are represented in a a computer you are already aware of whose complement notation. So, what is an integer? So, you have a 0 and then some maximum number may be minus 1 minus 2 you go on till some maximum number and then plus 1 2 3 whatever you count it is an integer number right. So, now when you have a number like 6 and 7 are there anything in between? No you can represent 6 or 7 right nothing in between. So, they are all discrete numbers ok and it is a countable number finite number of items in a finite range ok. Please remember this finite number of items in a finite range is very important that is if I tell you how many integers are there between 5 and 10 you know 5 and 10 inclusive then you can say how many are there you can count it ok right. This many numbers are there you can always confidently say, but even 5 and 10 inclusive of 5 and 10 there are how many 6 numbers are there is no doubt about it, but if I ask you how many numbers are there between 2.2 and 2.3 ok. Can you tell how many numbers are there? Is it countable? So, there is a 2.21 is 2.211 2.211 3 it can go on and there is no limit to this ok. The number of this numbers ok between these 2 are infinite correct. So, there is it is not countable that is what we are going to talk about in this class. How do we handle these numbers ok in a computer? So, the so far this integers what we have gone is seen is called fixed point numbers ok. Now real numbers that is what I talked about 2.1 and 2 2.3 ok you can take anything right 2.1 between 2.1 to 2.103 this also there are infinite numbers in between. So, these are all real numbers ok is a basic mathematics which you are all familiar. So, the fractions represented by decimal notation ok that is called. Now there are 2 ways there are 2 times here if you are aware 5 by 2 is 2.5 does it go beyond this this division this does not go beyond this this is called rational number. Now what is the rational numbers? A typical very popular example 22 bar 7 pi can go on infinite ok there are some competitions to remember the number of digits after this 3 ok there are infinite numbers after this this 22 bar 7 this is called irrational numbers. So, what I mean to say here is infinite numbers exist between 2 real numbers ok between 2 real numbers infinite numbers exist even if it is the smallest range you can find infinite numbers exist this is called floating point numbers. I will tell you why it is called floating point shortly. So, remember the typical integers that we have seen what being followed in 2's complement notation ok is a integers which has got infinite numbers in between a finite range which is called fixed point numbers and all the real numbers ok it could be irrational or irrational does not matter they are called floating point numbers in the computer world ok. Let us see now a typical example ok it is not that this is the largest number and see I can find any give any number I give you you can always find another number which is bigger than this ok. Similarly if I give you a smaller number if I call it as a smallest number in the real number range you can always find give me a number which is smaller than this. So, there is no limit to the real number range ok there is no this is 0 0 point 0 ok. So, there is no limit on how small you can go in the negative range and how far you can go to the positive range this is positive and negative ranges, but a smaller number is coming towards the 0 ok. Please remember this carefully ok there are infinite number of numbers ok and then there are 4 limits to that ok it is not only 2 the smaller number does not go in this way, but they go towards 0 ok I will give you an example. Suppose this is 0 I told you this is on the negative side as you have the positive side ok let me say this is a positive infinity and this is negative infinity and what is this which I am calling it as a smaller number. Suppose I say 0 point 0 0 0 0 1 ok let us let me call it as a positive number it falls it is here ok it comes here just above 0, but does it stop with this I can always find a smaller number than this by adding one more 0 to it and may be putting a one here. So, I can go on this number of 0s that I can have after this point is infinite. So, I can keep on finding a smaller number than what you give me, but I would not reach 0 absolute 0 I would not reach, but still I can find a smaller number I can give you. So, this is this is one kind of a range because which does not stop with whatever the smaller number is there. So, this is for a positive number similarly there is a positive number which is a which I have shown you here then I will keep on increasing 16 10 power 16 10 power 20 then I can go on. So, this also goes on in the positive range similarly there is a mirror image on this side there negative also there is a smaller negative number and a bigger negative number. So, there are four areas where it can go on for infinite number of facts ok. So, I can never reach a reach an absolute 0 because I can always find a smaller the number in the post positive side as well as negative side of 0 and similarly I can have a positive and negative infinite numbers. So, so that is the kind of a wide range of numbers we have I showed you only positive here. So, I can equivalent thing I can give you a negative of this. So, it can expand from 0 ok on both side this is negative and this is positive it can go on giving me bigger positive number bigger positive number and this can go on without reaching a 0 a smaller sorry it is a positive number smaller positive number and similarly I can go on giving getting a smaller negative number and a bigger negative number in that sense a a negative number going towards this end ok it is not actually bigger than this side ok naturally ok it is very logical, but what I am trying to say between these two ok this is a smaller negative number this is a bigger negative number, this also can keep on going towards 0, but not touching a 0. So, absolute 0 is there is no magnitude. So, now our problem is how do we represent this kind of a wide range of number in a computer. So, why is there a problem I will tell you. Suppose I will tell you you have a 32 bit number 32 bit you know range which can vary from all 0s to all 1 ok. So, do you have any anything in between. So, you know you are starting from here and ending with this ok if you are given a 32 bit bar register ok assume that you are given a register 32 bit value register and you are supposed to store a value between 0 to all 1s. How many can you store there is a finite number of values right 2 power 32 ok inclusive of 0 and 1 you can show that many numbers. There is no no question of whether is it is it countable number ok it is countable, but I want to represent a real number range ok both positive or negative given a restriction that I am given I am having only 2 power 32 possible values to represent this whole world of real number into a see though 2 power 32 is a bigger number, but it is compared to the range of number that you can have in real world is limited ok this is discrete values ok from 0 0 you can go to next 0 0 1 0 0 1 0 0 0 1 1. So, you can go on like this up to all 1s. So, there is a discrete numbers you can go, but you are using this you know a restricted word a you know a digital word 2 ok represent a analog a unrestricted maybe I can say unrestricted analog word ok see whatever you see in analog word what I mean by analog any signal that you see you know you are you know all of you may be familiar with a to b conversion ok ADC. So, when you do this this infinite range of analog values get converted into a a decimal word which is a a restricted word ok. So, maybe I can I can tell you ok instead of 32 will take for 64 bit will you be happy still it is a restriction maybe you can go to 80 bits, but also remember the values that you can represent all is can be counted ok 2 power 32 2 power 64 or 2 power 80. So, you are trying to use one of them to represent the real world scenario ok. Now, how does the floating point represent the representation help you in doing so ok. We are done with the initial introduction. So, all of you are familiar with the scientific notation from your school days. So, scientific notation way of writing numbers that are too big or too small ok to conveniently written in a decimal form ok. Whereas, in a normalized scientific notation with a a nonzero left mode digit is said to be normalized ok without giving an example this looks you know littleah confusing no issues. Let me give you an example what are these this is called scientific notation why? See if I need to represent this whole thing ok without having this convention of 10 power minus 10 I would need a you know miles of length of paper ok right. So, I am compressing it, but are we losing out something in the scientific notation of course, yes because you are not have representing the decimal numbers what are the you know it could be varying from 1 to 0 to 9 right the decimal values. So, it could be 10.1234589 no it could be anything. So, thisfinal details are lost ok to give a compressed compressed form of representation. So, so when you write it that many decimal points are lost ok and ok let me erase this. So, what is this notation is this different from this number certainly not because I when I move this da the decimal point that I have to left the 10 becomes 1.0 into 10 power minus 9 correct this value and this value of same. Now I like to move this decimal point to you know lowest you know suppose I write like this then I write it this way. So, it is this notation now I can still go on moving this point further and then write it this way. So, all these values are actually one of the same only thing is where do I put the decimal point decides the the exponential part of the 10 the decimal number system. Similarly this is the towards representing a smaller number and if I am trying to represent a bigger number I have both the four rotations are same, but is there any limit on how many forms I have in this notation ok there is no limit. So, there are many unnormalized forms this is called unnormalized ok. So, I can have in a number of notations both in terms of positive negative smaller value or a bigger value and it could be for positive or a negative value ok. Normally we do not tend to write plus if it is already a positive number, but we uniquely represent a negative number with a negative sign ok. So, if we put a negative then you get a other range of the number you know other side of the 0 ok. So, there are infinite representations using this notation which is called the scientific notation. Now what is normalized let us read again this a fraction ok a fractional number, but it is not a integer number it is a fraction with a non 0 left most digit ok to the decimal to the point decimal point ok. So, it is a non 0 left more digit ok why this say any notation I have a non 0 left more digit ok ok, but here after the decimal point I have a there is you know a decimal non 0 left more digit, but I do not have a digit you see it is a left more digit I have non 0 left more digits ok let me you know remove this see I here after the decimal point I have a non 0 left most if I tell if I say left to most means it should be only 1 and digit here there are 2 digits are there ok after the decimal point here it is not non 0 ok here 2 digits are there though it is non 0 is 2 digits are there this is non 0 you know it is a 0 actually it is not a non 0 value. So, none of them fall under this normalized notation form ok let me show you what is the normalized scientific notation see here this is only 1 digit after the decimal point is a left most and there is only 1 and it is a non 0 value is this scientific notation yes it is a 5 which is a only 1 digit which is non 0 after the left most point after digit. So, effectively these 2 are a normalized scientific notation can I have for representing the same value can I have one more normalized scientific notation I cannot what about this no I cannot have one more of a normalized there is only one representation which is this for this particular value ok. So, that is what is called normalized form it is unique for a given value please remember it is not that only one is there you know there are so many infinite number of scientific notations are there, but it is unique for a particular value. So, what is the advantage we get we are getting a unique representation using the normalized notation. So, in a digital world we need to have a unique numbers and there is no confusion between 2 the same value is representing 2 forms we are leading into a confusion right. So, in a real world also real number world also in the digital domain we are trying to represent with a unique normalized form form. So, so we are going to select this notation for our floating point representation ok got got it ok. So, now you are clear about what is normalized and what is unnormalized. So, there is one digit a non-zero digit after the decimal point. So, this decimal point is moved ok. Suppose I give you a value ok and then ask you to represent it in a normalized form what will you do you move this decimal point to 1.023 ok there is no point in representing the 0 because beyond this I am not given you anything. So, my now I am not representing this number beyond this ok. So, so do I have to do anything here of course, you have to do because you moved it 3 digits 3 decimal points here. So, I will multiply it by 1000. So, this is my normalized notation. So, I can have only one normalized notation for this number correct. So, that is the that is what I am driving it ok. So, floating point numbers let me tell you similar to the world of decimal world and I am giving you a I am giving the base of this is a binary. So, I will give you a normalized rotation notation of this number I am sorry this is not what I have shown you. So, suppose I give you this what is the value in the decimal notation very simple. So, anything to do with the decimal point here left to this is given 2 power 0 2 power 1 2 power 2 goes on like this suppose if I had given a number like that and then after the decimal point I will add if I find a 1 I will write 2 power 1 by 2 power 1 1 by 2 power 2 plus 1 by 2 power 3. If I have a 0 I will multiply it with 0 if I have 1 I multiply it 1 1. So, this is how I represent it in the decimal in the binary world. So, given a number of like this I say ok 1 into 2 power 0 is effectively 1 and I add 1 into 1 by 2 power 1 by 2 power 1 which is 1 into 2 power minus 1 0 into 2 power minus 2 and 1 into 2 power minus 3. So, how does it convert into a decimal value this is 1 this is 1 by 2 is 0.5 this of course, 0 this is 1 by 2 power 8 this is 1 by 2 power 8 converts into 1 0.1 to 5 add of all of them then this is the representation in the binary world. Is this a normalized notation of course, because after this binary point I have a non 0 number in our binary world non 0 is only it could be only 1 right. In a decimal world it could be from 1 to 9 right a non 0 value in a scientific normalized notation in a decimal notation where in a binary notation I can only represent a non 0 value means it has to be a 1. So, now I have a a binary representation of a normalized scientific form and I have given you how to convert it into a equivalent decimal form good ok. Let us go to a generic format for this ok. So, this is a scientific notation I said ok. Now, suppose if I give you a number like this can you find out what is the equivalent decimal number. So, 1.0 is nothing, but 2 power 0 1 into 2 power minus 1 this is 1 by 2 which is 0.5. So, 1 into 0.5 is 0.5. So, if I tell you ok I can give you some few binary places for you to give this value x ok and then I will give you a some binary binary binary you know a decimal a binary points to represent this y's then you can represent in a negative you know in a binary world a real number correct. Suppose I will give you an example suppose if I tell you you have 4 digits to represent your you know value this I am giving you 4 digits for this x ok and then into 2 power plus or minus ok this also plus or minus I tell you 4 4 digits for representing 1 some number. So, suppose if I convert this because I am giving you because after the point you will say that this is 2 power minus 1 this is 2 power minus 3. So, you will add up it is equivalent to this number right 6 to 5, but what do I multiply it with suppose I chose a plus with this is a unsigned number of course, then what is the equivalent of this 8 plus 2 10. So, 1 point ok 1 point 6 to 5 ok into 2 power 10 this is the equivalent of binary a decimal value represented by this number provided I have given you you can represent some binary values in 4 value collocations. So, effectively what I am trying to say is suppose you are given a space to represent this sign number ok plus or minus and then you are given a 4 digit ok locations to represent this number this 1 0 1 6 here where is my ok and then I have given you a 4 more digits to represent 2 power something. So, that also happens to be 1 0 1. Now I need to give you a another space for a plus or minus here ok assume that I have given you I missed out 1 more sign bit for this exponent portion. So, plus or minus in this case it is positive. So, it will be 0 and in this case also I have given you a positive number suppose ok it is not a negative number then I will write as 0 here then effectively how many bits you have taken here 1 bit. So, 4 plus 48 plus 2 10 bits if I give you then you can represent some real number which goes up to 1 point some value into 2 power 10 it is a big number quite big number right. So, now it is a general format and, but I am going to give you a format which is going to be convention you know universally unique unique you know universally agreed upon. So, that 2 different processors designed by 2 different people from 2 different countries will represent a binary a floating point number in a given notation ok. So, it cannot be arbitrarily I cannot say 4 here and 4 here and the sign bit here somewhere in some notation I will say sign bit is here. So, if suppose everybody implements a floating point or a real number representation in a in a computer you know using different format it will be difficult for 2 processors from the 2 different countries or companies to work together they would not understand each other ok. So, there should be some universal notation for everybody to follow that is what the triple E 5 7 5 4 has try to do it ok before we come to that let us let us see some advantages of having the scientific notation. Simplified exchange of data that is what I just now said ok you can compute something in one computer and then give it to the other one they will understand it better or not even better they will understand it correctly. Simplified arithmetic algorithm so, because of the standardized notation the implementation of some addition multiplication all that can be uniform ok. So, it simplifies the algorithm increases accuracy of the numbers that can be stored in a word since unnecessary hearing zeros are replaced ok. So, one more advantage I did not point out see suppose if I have a number like this ok sorry sorry 100 point ok 0 0 0 there are or suppose there are 0 0 0 1.2. So, if I tell you this binary number is not here it is not here to the end you know end and you have a leading zeros ok one example is in this case you take an example here you have to store all the zeros here ok, but if I bring it to the non-zero and then multiply by 2 ok I do not have to store all this non-zero numbers in the binary representation. So, I can try to bring it and then I can move that to the exponent part, but some accuracy may be lost ok I am not saying that it is a inertia for every problem, but you are able to store some numbers with a reduced number of bits ok when you want to leading zeros you want to avoid ok and then bring it to a compressed notation. So, you are trying to say ok I will have one non-zero value followed by some number ok if there are there. So, this is the scientific notation ok. Now let us go into a floating floating point general format representation ok ok. Now, I am representing this call it as a B, B and E these are all binary bits ok. So, suppose if I have a generic notation like this ok and what what is missed out here may be is maybe I can mention it is of this or minus here ok, exponent also can be positive or negative ok may be should have been there not an issue because exponent is a I mention it here. So, for simplicity simplicity for your clarity I am writing it here see here plus or minus could be represented by one bit ok and if suppose that bit is set that is sign bit ok. If it is 0 this what will happen minus 1 whole power 0 become 1 anything to the power 0 is 1. So, it becomes a positive number ok, but suppose s is 1 the sign bit is 1 this will become minus 1 to the power 1 which is minus 1. So, this negative this becomes a negative number fine and then I am saying this is normalized form that means, it is a non 0 to the the left most number is a non 0 value. So, happens to be a 1. So, it is always fixed to be 1 1 point something now tell me something 1 point some number is there ok. I told you the whole thing is added by finding 1 1 by 2 plus 1 by 2 power 2 plus 1 by 2 power 3 and so on. Suppose if I have up to n digits ok happens to be ok if suppose this is 1 to n I have ok n numbers then I will have plus plus plus you know loss 2 power n you agree. So, I keep on adding some smaller and smaller number as I go towards this forget about this 1 for a moment. If I need to calculate the value that I get by converting this decimal numbers into a real number I need to do what if I encounter at 1 I will put that many which you know if it is a second bit position I will say 2 power 2 if I get a you know if I have a 0 I will ignore that number ok like this I will convert what do I get will I get any time more than 1 ok some value I am getting after this conversion value will it any time be more than 1 it cannot be because it is all a smaller number even if I add all the smaller number it will never tend to it may tend to become 1 ok it will tend towards 1 limit you know this value tending to 1 ok, but it will never become 1 it will be a fractional part ok that is very important to keep in mind. So, this portion what I add is a conversion of this values this is 2 power 1 plus 1 by 2 power 2 so on is a fractional part why am I adding 1 because this is 1 anyway ok this is actually converted into by 2 power 0. So, I am adding 1 plus this fractional part to find out the decimal equivalent of this fine this I have done. Now if I suppose convert this in a bits into some value and if I say it is a 2s complement form if I tell you that it is represented in 2s complement form that is why I am not giving a plus minus specifically. So, 2s complement form means suppose 4 bit value then this will become a sign bit number. So, I will find some negative number right some negative ok convert this into what do I do I inverse this 1 0 1 which happens to be 5. So, minus 5 correct if I convert this into a negative number it will become minus 5. So, whatever number I am representing I can convert it into a some positive value or negative value. So, what I will do I will multiply that to the power e. So, minus 5 if I got I will type 2 into 2 power minus 5. So, effectively from the binary notation I will be able to compute some real value from here you agree or not. So, this is the number representation ok. So, let me read up whatever I have given here. So, s is a sign bit f is a fractional part which is called a significant. So, this number of bits that I give you represents the precision how how precise my numbers are see if I give you more number more digits to represent here I am increasing the precision of the value that you can represent. So, first of course, if I give you 20 bits you can represent 2 power 20 1 by 2 power 20 is much a smaller number. So, you can even represent a may be a no weight of a not or no may be a smaller number may be distance between an electron and an or no an orbit ok between 2 nucleation electron orbit in a not term. So, I can represent a much finer details if I give you more numbers more digits to represent the fractional part of the number. So, it improves my precision ok. What I what if I give you more number of bits to represent this portion of the thing I am increasing the range of number that you can represent both in terms of positive and negative correct plus or minus. So, if I give you more number of bits here you can give a you can represent more and more bigger values either towards positive side or towards the negative side. So, exponent portion gives you a wide range number of bits that you give for a significant part of the representation gives you more precision to the number ok. So, that is a balance between these 2 you have to get because in a computer the number of bits you have is limited ok 32 bit or 64 bit I told you. So, it is limited. So, in a given number 32 bit you have to represent some fractional part and some significant sorry some exponent part correct few bits for this and few bits for this ok. And then why am I giving you this this is a sign bit part may be the this portion the whole number ok. And exponent part I am giving you 2's complement see you should not get confused between this plus minus and this plus minus ok. This plus minus tells you whether this number falls on this side of the fence or this side of the fence this plus minus ok positive negative this sign bit gives you whether this number is odd to the left side of the 0.0 ok I should not write 0 may be 0.0 whether it is here negative or positive. Now what is this plus minus gives this tells you whether this number is once you have decided ok I tell you that this is negative you are coming to this range, but I told you that it could be on this end of the spectrum or a smaller negative number. So, if it is negative the exponent portion is negative you are the number what you are representing is falling on this side of the fence. But if this is positive it is falling on this side of the negative number that means it is a it is a huge you know a large negative number or a very small negative number similarly that is true on the positive side. Suppose this is a positive then this plus minus tells you whether it falls on this side or this side. So, there are 4 ranges and there are 2 positive negative for that you should be clear about I am sorry if I have this is positive negative this is positive negative you have 0.0 ok. So, let me call this positive as a then where does it come this number is here fine within a this positive if I call b ok this number is here a and b. Now in a if it is negative if I call this as the c then it is here why if I give you a smaller e value that the 2 power minus something I am giving you. So, it is going take you to a smaller number because this is anyway it is 1 point from small number multiplied by 2 power some smaller number ok. So, it is going to take you towards a positive smaller value. So, where does the d belong to suppose if it is negative it will come here that is smaller negative number. So, you will be able to find out where does a number belong to based on this is positive or this is negative. So, there are 4 combinations possible and the 4 numbers are this this 4 and it may lie here or it may 4 values ok. So, this should be clear to you I would not be that you know explaining this. Now one more point I would like to highlight here enough floating point representation this leading 1 bit see this value I told you is always happens to be 1. In that case do we have to say store this number in the 32 bit value we have it is a waste right. I told you that S bit is there 1 bit is stored and then there is a floating you know fractional part is represented by some bit number and then some exponent part is there. So, do I have to save this number I do not have because it is always implicit. So, 754 has followed a convention that this 1 bit is not represented inside the floating point ok. That means, we are not reserving a bit position for this. Please remember in a you know inside a computer a decimal word every bit consumes power consume space consume consumeyou know energy. So, we do not want to waste anything inside of computer. So, if we can default assume that it is going to be 1 why not do away with that ok. So, only this bit are bit patterns are saved in this location so that you you can you get say you know get 1 more bit position for either increasing this or increasing this ok very good. So, so general format and just explaining you fractional part isbetween 0 and 1. So, this portion is it is always between 0 and 1 and exponent portion is computed to the power of 2 and as mentioned earlier the leading value of 1 is not stored ok. It is it is a implicit number stored in the floating point representation ok. And just know elaborating on what I explain in the last slide. So, let us do an example ok. Suppose if I represent it like this I have given you a value ok like this and this 2 can be represented by 0 0 1 0 based on number of bits reserved. So, what do I get I convert it into equivalent you can know you can freeze it and look through this it is not very complexthis values are computed based on this bit pattern. And then into 2 power minus 2 is nothing, but 1 by 2 and then this by 4 and this is a decimal bit. So, finally, any bit pattern given in this form can be converted into a real number like this that is what I am giving you an example ok fine ok. Let us now come to so,this is the real number 0.0 ok. Now, I am showing you some under flow over flow ok. Because I told you that we have a limitation of 32 bit now you know that sign bit is given. I am not still told you how many bits are occupied by you know fractional part and exponent part no issues may be this may lie here or it may lie here ok. Please do not even you know lock on to this I am just showing a generic notation I have not shown you I took these 7 5 4 notation there, butI gave you an example that whatever comes in fractional part will be here ok into 2 power some exponent part will be here right. This much I explained you and this one is not stored as a part of this and this plus or minus is given here. Now ok this dot let me make it clear now I am bored with the red let me change the color to avoid monotony. Now you see here I told you there are ranges right ok this is more or less closer to this 4 ranges are there ok. Now, because of the restriction on number of bits reserved for F number of bit reserved for E I cannot represent the whole range of real number of course, it is not possible. So, there is a limit now how do I reach those limits and how do I know that I have reached a limit ok. So, using both this fractional part and exponent part when I am representing a number here plus or minus I get into one of this ranges. So, the fraction part takes me as close as possible towards a 0, but does not take me into 0 right. So, even if I say that this is the lowest number I can give you a smaller number than this. So, it will never reach 0. So, there is a limit ok this sum portion is not reachable at all for a given number of bits reserved for a fractional part. Similarly, after some exponential portion I cannot reach beyond some value here. So, there is a limit on on both positive or negative side based on what I have here plus or minus. So, based on this exponent plus or minus I have a limit on this number also. So, there are similar to what I told you that 4 ranges there are 4 and flow our flows and underflows are possible. What I see here is a negative overflow what I see here on this side of the fence is a positive overflow and there are 2 underflows also positive underflow which I cannot reach a absolute 0 because there is a smaller number which I cannot reach I cannot go more precise than this because of the limit on the number of bits I reserved for a you know fractional portion. So, similarly there is a negative underflow ok. So, this you should understand fully. So, my limit on expressible numbers are lying here ok maybe I can show you in a different color with the board with the ok my limit on a positive and a representable negative numbers are here. I cannot you know represent this numbers which are falling in the these ranges anything beyond this ok where is my cursor here ok anything beyond this and anything within this and anything within this got it this you should always have in mind to have a better understanding of floating point. So, overflow means it is a positive exponent which is too large ok to fit in. So, there is a limit because of my 32 bit or whatever I call and similarly underflow is this is an event where a non-zero fraction has become too small that it cannot be represented. So, non-zero I know that it is a non-zero, but I cannot go and represent it because my fractional plot has run out of it. So, I put all zeros and then I can if you give me more digits for the fractional part I will give you I can represent a 1 here. So, I am not giving a you know fractional part. So, it is gone. So, because of that it is a non-zero fraction. So, this situation occurs when the negative exponent is too large to fit in the exponent field. So, it is a negative exponent which is too large to fit into this and similarly I cannot represent the fractional portion also because see the negative exponents gives me a a smaller number along with a 1 point something because this is 1 point it is a 1 plus something. So, effectively this negative number only is going to take me to a lower value which is closer to 0. So, that also has reached a limit. So, underflow and overflow are happening because of the limits in the representation. Now, let me come to floating point representation which is the standardized notation of 523, 7654 sorry 754. So, he is the person who has invented this notation all you know they should really feel happy to be for his invention because we are able to solve all the scientific problems using computers because of this notation and he is the person behind the invention of Intel 8087 if you have heard about 886 it had a co-processor called 8087 ok which was a floating point processor ok. So, this was invented and he was a designer of that particular processor ok. So, I typically took his notation and standardized it across the industries. So, everybody who developed the floating point co-processor need to comply to this, but they gave some freedom to for the designer to free you knowplay around with that ok. Let us go to single precision why do I call single precision this is the lowest possible 32 bit notation which was standardized by IEEE ok. So, so far I was showing you some floating point you know that exponent portion and this was in a wrong locations that was intentional I do not want you to lock on to that, but you should know when you are working on IEEE 754 notation where the exponent portion comes and where the floating point you know the fractional portion comes. There is a reason behind this ok I will explain you. The exponent portion is here immediately after the sign bit and then the fractional portion. Now, how many bits are reserved for that 8 bits are reserved for this and 23 bits are reserved for this and 1 bit for sign bit. Now, it is as as the accept the 32 bit ok. Now, you may wonder where is the sign bit for exponent it is all internally given here ok in the exponent notation ok. So, now onwards let us not play around with the location of exponent and you know fraction we even I will show you knows to scale ok. This is exponent portion this is the fraction portion this is the sign bit ok. This is 8 bit of course, this is 1 bit and remaining 23 bits are here. Let me write everything here together. So, this is the standard notation ok let us not play around with this. Now, let me tell you one important point the exponent is defined like this ok I will explain you in the next slide this is called bias notation ok. So, it is varying from minus 1 to 26 to plus 1 to 27. If you recall a 2 is complement notation ok let me explain here 8 bit number ok. I told you exponent is 8 bit number. So, it will vary from 0 0 0 to all 1 1 1 point if you have a limit on how far it can go right 8 bit number. Now, if you know 2's complement of course, you should all of you must be familiar this representation corresponds to this and this corresponds to I am sorry here it is 0 ok. Let me route it here here correct this of course, 0 right 0 to plus 127 ok and 1 all 0 0 0 ok between these 2. Now, you have a question whether this corresponds to minus 0 or minus 128. Let me convert this 2 is a MSB is set to 1 that means, 2's complement is a negative number how do you compute the magnitude of this number you invert all of them ok I invert all of them and add 1 to 8 what do I get minus 1. So, if you are alert would have caught me wrong. So, this represents minus 128 and this represents minus 0 minus sorry minus 1. So, this is the range ok 0 to let me draw let me write it in a different color just for that I am writing it for some purpose ok 0 this is plus 127 which one this representation and then this is minus 128 and this is minus 1 ok. Let me erase these days now you see here this number is going from 0 0 to 1 1 1 the values in 2's complement are sorry I not erase this also or going like this. If this is not very useful or you know very helpful in comparing the representations of a number which is changing from 0 to some bigger number ok. For one reason is 0 to 127 comes and then the negative number the most negative comes very close to you know immediately after this most positive and then the negative numbers go in a reverse direction they keep increasing towards this. Now, if I draw a 0 minus 128 127. So, 0 to 127 goes like this and then they come from minus 127 to this. So, it is not going you know from the big pattern wise it is not increasing or decreasing in one problem that is the problem with a 2's complement. But though it is a very helpful for arithmetic and then storing integer negative numbers they are not straight away compared against like a unsigned number unsigned number is no issues it keeps increasing from here unsigned number will go from 2 to 0 to 255 ok. So, they are they increase in one way whereas, here they are in a different direction they are increasing the 2's complement notation. So, the floating point they wanted to do away with this ok they want to map it differently I will show you ok sorry I do not want to erase this anyway no problem 127 ok. So, instead of doing one more ok let me tell you now one more thing what they did was they took away 2 numbers from this for some special purpose ok. That means, 0 and all 1's are taken away in the exponent for a moment assume it is not used for a typical exponent notation. So, what are you having 0 0 0 1 and then what is the next one just prior to this 1110 which is happens to be a F 4 E ok. So, this is 1 ok. So, these numbers are only used for the exponent notation this 0 and all 1's are considered to be a a special representation. Now, you are having only your 1 and here and this is no if you are following 2's complement it is a a difficult form. So, what was done is ok they mapped these numbers the floating point representation into this notation ok. That means, any number ok you subtracted by 127 suppose if I tell you whatever you have whatever the range of values you have you subtracted by 127 to get some number. Now, I told you 1 use the range you have and then an unsigned notation you have 254 ok 0 and 255 are knocked out 0 and 255 are knocked out you have the remaining numbers let me tell you again. So, you do a minus 127 and then see what do we get you get minus 126 fine. Then I have another unsigned number 254 if I do minus 127 here also what do I get plus 127. Now, suppose I represent any number in the exponent notation by a adding this bias suppose very simple if I want to write 1 ok I want to write 2 power 1 exponent is 1 ok I want to write plus 1 what do I do I would not write it as 0 0 0 1 where I have a h bit here I would not write as 0 0 0 1 I do not write it that way I do minus 127 ok and then write it as whatever I get I will get minus 126 I write minus 126 here which happens to be f of e this notation this number ok. So, I write it in this form which is those complement suppose ok. So, effectively what am I trying to do my most negative number comes as it is represented. Now, now if I go back in a a different way ok that suppose I this is the number I wanted to represent right if suppose so 1 I want to represent I represent it as 127 ok which is minus 126 on the second I will I think I got confused ok let me rephrase what I said ok I told you 0 and 225 are not used for representing the number. Now, 1 to 254 are used for representing the exponent portion of the number ok let me erase some portion of this here ok to give you clarity on this ok. So, when I have a negative number which happens to be I want to write 2 power minus 126 ok what do I do I add a bias ok. So, minus 126 is added with 127 let me tell you this is the bias I am writing what do I get I get 1 ok this is the number. So, effectively this is nothing, but minus 126 because if I write a 1 there in the exponential portion it actually represents minus 126. So, how do I get back see while storing the number see remember if this is the number I want to 12 my 2 power minus 126 when storing it I add a bias of 127 and then store it as 1. So, while interpreting the number I need to do the same thing reverse of that right. So, I will do subtract of minus 127 from the number whatever I see index comment I get what do I get minus 126. Now, the hardware ok while interpreting the values stored in exponent is subtracting the minus 123 sorry minus you know subtracting 127 to get the actual value that 1 represents. Now, what does the 254 represent same logic ok suppose I want to know what does 254 represent what I should do same thing I what I did for 1 I subtract 127 from there what do I get another 127. So, this is actually positive 127. So, this will correspond to positive 127 2 power 127 I will represent it this way and minus 126 I represent it this way got it. Now, what do I why am I doing this what do we gain by this see here if suppose if it is considered as a just a binary number a a representation of 1 is happens to be a smaller number compared to anything below this correct 254 or anything above this is the this is smaller is not it. So, that is true in the range of the numbers also. So, minus 126 is given as smaller representation in a unsigned notation ok you consider it as a big pattern in unsigned notation minus 126 is given as smaller notation and then compare to positive 127. So, how does it help me it helps in comparison suppose if I give you a by you know floating point number knock off the sign bit I get I will let me see the exponent number and floating point number the fractional portion this portion if it is a smaller number as 1 is the minus 126 is right 2 power minus 126. So, it is a smaller number compared to a bigger number. Similarly, if any bit pattern I see here if it happens to have a number you know suppose 0 0 0 1 and then 0 0 1 0 0 1 suppose this is the end of the number anything having a bit pattern in the higher portion happens to be a bigger number compared to anything only having a 1 here because this is 2 power 1 by 2 power something and this is 1 by 2 power 23 you know 23 or whatever now higher number. So, what I am saying is together with exponent value and the fractional portion I can directly compare a decimal sorry integer comparison I can perform and find out whether this number is a smaller or a bigger number. So, comparison becomes easier I am sorry for this whole lot of numbers written here, but just concentrate on this this ranges are taken based on the bit pattern and this 1 and 254 this is all 1 except the lower LSB 0 happens to be a bigger number compared to this number. So, this representation representation is easier for comparison of 2 floating point numbers ok that was the intent for the ok. So, sorry for taking more time here let us go forward. Now what are the ranges of values represented here? So, one more thing I need to explain here if you recall this has a implicit notation 2 point the fractional path into 2 power exponent part ok. Now, let us concentrate on the smaller number and the bigger number that you can represent here. I am telling you that 2 power minus 1 2 6 is the smallest number why? Minus 1 2 6 is the exponent portion. So, this is a plus or minus 1 point all 0 suppose and then followed by 2 power the exponential portion is the smallest number that you can represent it 2 power minus 1 2 6. Now, this is the smallest number represented ok because 1 into this is a this. So, just a 2 power 1 2 6 is smallest number, but how do I say this is the biggest number that I mean that I can represent. So, what does this 2 minus 2 into the path minus 1 23 represent for this I need to take a little bit of detour ok. Instead of 2 23 numbers assume that there are only this many notations ok, only 3 bits are given to you fractional portion ok. Suppose I represent all 1s ok, what does it correspond to? It correspond to 2 power 0 plus 2 power minus 1 plus 2 power minus 2 plus 2 power minus 3 you agree what does it correspond to? 1 plus 0.5 plus 0.25 ok ok. So, 2 for simplicity let me remove this also just 1.11 ok. Now, what does it correspond to? That is all this corresponds to 1.75 you agree 1 plus 0.5 plus 0.25 is 1.75 can I represent this number in another notation? Suppose if I say 2 minus 2 power minus 2 because I am given 2 bits instead of 3 bits ok to cross simplicity I removed it ok. Now, this corresponds to what? 2 minus 1 by 2 square that is 2 minus 0.1 by 4 is 0.25 that is 2 minus 0.1 by 4 is 0.25 which is nothing but 1.75. So, any number representing represented as 1.11 can be represented by 2 minus 2 power 2 if it happens to be 2 bits right you agree I proved it ok. Now, I am given a 23 bit patterns here 23 bit. Now, if if it happens to have all 1s which will correspond to some 1 point all 1 how many 1s 23 1s right which will be equivalent to 2 minus 2 power minus 2 3 you agree because 1.11 corresponded to this then it will correspond to this value you agree. Now, 1 point all these are all 1 ok because I am trying to represent the biggest number possible. Now, I need to put all once here in the fractional portion and then my maximum the number that I can have exponent as 1 to 7. So, this will correspond to the maximum positive number that I can represent. So, any bit happens to be 1 then this will be a maximum positive number ok both are maximum positive ranges negative will be negative of this that is all. So, effectively I have told you that this is the range I hope this this example clarifies that ok and the equivalent value of the decimal equivalent of this ok I have represented in 2 power something right. If I convert into decimal form this is 1.17 into 10 pound minus 32 quite a small number right in a positive word and this is 3.4 into 10 power 32. If I put a time bit as 1 I will get a equivalent negative numbers also right. So, this is the kind of a range I am getting with the best 32 bit values that is the beauty. But please do not think you know that I have all the infinite range between these two it is not that range is again limited by 2 power 32 notations and out of it some formats are left out. So, you have a less number of discrete notations discrete numbers possible to be represented between these rates both in positive and negative word there is not infinite number of ranges available because you are restricted to the bit patterns bit which can range from 2 power 32 maximum 0 to 2 power 32 bit patterns you can have. So, only a limited way in the in the sense you can represent them, but you have a wider range you can represent numbers which are falling between these two ranges ok that is the beauty of floating point representation ok. So, what is I am just explaining a bias notation which I explained in the last slide. So, effectively ranges from 0 to ff 0 and ff are reserved ok and we have a remaining 0 to fe you add a bias ok of 127 any value in exponent u minus 127 you get the actual exponent value ok that is how you should get the actual exponent value you get the pattern here and then subtracted from 127 you get the actual value which I had a you know explained you earlier. Bias of 127 helps in performing a integer comparison of floating point representation I told you that you can easily compare to floating point number. So, 0 now one more limitation on this notation ok because you are assuming this 1.0 into 2 power something exponent you can never represent a 0 with this notation. So, you need to have a special representation that is where this represents you know reserving this number helps you if the reserved happens to be if exponent happens to be 0 or ok it represents a 0 value that is the beauty of this representation ok because if I give you any value between these two ranges it will always assume that 1.0 something right. So, you can never represent a 0 when you have a 1 in this place. So, this notation the normalized notation does not help you in representing a 0.0 because this always starts with 1.0. So, any value which is starting from 1 with the multiplied with the 2 power something it could be a fractional portion ok. So, you cannot represent anything just as a 0. So, for that the exponent portion 0 is reserved ok I will explain you thatlet usgo into this. Now this is easy to understand this is the range of negative number or positive number in integer world which you are all familiar and here I am telling telling you that the limits on the format see plus or minus 1 point all 1s corresponds to one of the negative or positive infinite values ok. Actually maximum what you can represent will be all 1s are that 2 minus 2 power 2 is 23 which I told you earlier and then 2 into 2 power 127 this is the number ok here somewhere here and then if it happens to be all 0s then you are having a number here ok because 1 point something into 2 power minus 126. So, it will bring down that value to something which is little bit more here, but it does not come to the 0 ok it will be 1 point something. So, it will be 2 power minus 126. So, that is the maximum negative value or sorry that is the maximum the lower number you can represent positive or negative number 2 power minus 126 ok it is not just 1 ok please remember it is not added this is not here it is not added to this number it is multiplied. So, it is 1 into 2 power minus 126. So, you will get a sub 0 sorry less than 1 ok, but it is something 0 0 0 0 or something ok which can be up to 2 power minus 2 1 2 6, but it will never reach reach the absolute 0. So, that is what is called a negative 1 preference which I explained in the previous ok. I think this is clear to you let us go a little faster. So, this representation is called normalized notation ok anything above 0 and less than maximum that means, what 0 1 exponent value being 0 and f e ok is a normalized form and any bit pattern can be there this is a normalized formfor a moment ignore this a 0 can be represented with all 0s here and all 0s here. Now, you have an option of sign bit being 1 or 0. So, if it happens to be a 0 ok it is a positive 0 and so, you can represent a positive 0 and negative 0 here. Similarly, if all 1s are given here because I told you that 0 0 and f of a reserve. Now, if f of is given as exponent it represents a infinite number infinity ok you are not represent able to represent anything beyond this. So, you have put f here and 0 here. So, you can represent both positive infinity and negative infinity here. Now, you have you are left with some bit pattern which you can use it here ok with all fs here and with all 1s here which are used for denormalized form. I will explain that you know in the subsequent session in the class you know in the slide. So, let us defer it for a moment ok. Now, I am going into the details of you know summarizing it now. So, exponent is varying from 1 to f e and it is calculated by 2 to the power whatever value is given minus 1 to 7 and then a binary point followed by 1 something which is called the fractional portion. The whole thing 1 plus 0 is called mantissa ok that is the convention mantissa and this is called fraction ok. This is called fraction and the whole thing is called mantissa ok complete it and then mantissa can vary somewhere 1 to 2 ok. The mantissa value what is represented where can vary from 1 to 2 ok it can never touch 2 because 1.9 9 9 9 it can become, but it can never become 2. So, this whole thing gives you that value followed by the multiplication 2 power something ok. So, this is the representation. So, this will help you you know maybe you can freeze it and read through this and the multiplies 2 power minus maximum. So, the the fractional portion increments by 2 power minus 1 to minus 2 3 because a 1 bit here actually gives you the last bit gives you minus 5 if I am writing it below it will be 2 power 23. So, this 1 bit gives you this if you increment this by 1 it will becomes 1 0 which is a right this much. So, you are incrementing by every time 1 by 2 power 23 that means, it is equivalent to 2 power minus 20 degree. So, the fraction part this is the multiple of 2 power minus 2 3 I hope it is clear to you and then minimum positive normalized number is I told you 2 power minus 126 to this which we already seen this is all given for a completeness sake. Now, positive and negative 0s I told you this is 0 and this is 1 positive and if all 0 and this is also all 0 that means, this is a 0 value. So, you have a 2 0s. So, positive and negative 0s can be represented in in a floating point value sim and then I am explaining a normalized number see I told you you can never reach a 0.0 right. So, you reach a 2 power minus 126 if I remove recall correctly ok and then I know 2 power minus 126 this is positive and this is positive. Now, negative you know infinity is here negative infinity here positive infinity here, but I want to represent something even lower than this ok is it possible it is not possible currently with the normalized form because I am starting with 1.0 that is a that is a normalized notation. Suppose if I can do away with this 1.0 then I have a freedom to go into a much more lower value than this that is what is used here that means, if it if the x 1 portion is all 0 ok and then this is a a non 0 bit pattern is given then it is no longer a normalized form it is called a denormalized form and the value is computed using this equation. Less or minus based on the sign bit minus 1 to the power s into ok 2 power minus 126 this is assumed you are reached a maximum of the smaller number ok. You though you are having a 0 here this range is assumed ok 2 power minus 126 into the fractional portion by assuming 0 point the fractional portion ok. So, it is no longer 1 point something 0 point fractional portion that means, you are still bringing down the value that you can represent in the the lower region this 2 lower regions. So, basically what you do 2 power minus 126 into how far you can go lower into 2 power minus 23 you agree this the the LSB is 1 is the least you can represent all 0s followed by 1 and you are assuming that it is a 0 point something then you can go up to 2 power minus 123 which is nothing, but minus 1 4 sorry 1 4 9 you add up these 2 you get this. So, this is the minimum positive denormalized number and what is the minimum negative denormalized number minus this correct is the same on both side right window I will go back to the previous one sorry to go back I here see here these 2 are plus and minus of the range which is minus 126 earlier. Now, I have brought it lower than this up to 2 power minus 1 4 9 and then this is brought into this up to 2 power plus 1 4 9 oh sorry this is minus only only thing is this is plus sorry ok this is minus and plus let me write it here minus 2 power minus 1 4 9 plus 2 power 1 4 9. So, it is brought into some more still it cannot be 0, but it is better than previous where in one in a nor at nor you know denormalized form ok this is the form. So, the in the floating point that flexibility is there you can represent with this value all 0 even if you represent this all 0 you are always assuming it as 2 power minus 1 2 3 who is assuming the floating point processor who is implementing this who would assume ok and then it will take over the fractional portion and then give you the value ok. So, I hope this denormalized form is easy to understand to you guys and then plus 1 infinity and plus infinity all 1 followed by 0s are plus and negative infinities ok. So, this is what is explained here. Now the interesting portion is a not a number suppose you have all 1s followed by a non 0 pattern it is called a not a number. Let me go into some more details here why it is required the exponent is all 1 the value is either an infinity or a not a number. So, when this is now if it is a all 0s with all 1 which is called a infinity, but if it is a non 0 pattern it is called a not a number. So, DSP architecture so, the the not a number representation is actually given um specific you know the independent implementation any floating point processor representation can free to use this pattern to convey something internally within the processor ok on some floating point arithmetic happening. So, I will explain you why it is given. So, in the so, DSP that is the vector floating point processor which we will be seeing in the next class. They are given the value sin bit followed by here they are given the bit 22 is given for for the sin bit can take any value and the remaining fraction bits can take any value except all 0s. So, there are 2 power minus 2 power minus 22 minus 1 that means, the sin bit can take any value and the remaining fraction bits can take any value except all 0. So, they are calling this bit 22 as a sin bit and the remaining bit pattern that is 22 patterns you have can be anything other than 0 because it has to be 1 minimum that means, 1 non 0 will be here and this can be a 0 or 1 that means, they are taken care of all once here and a non 0 value here to represent a man and then that is given as a possible signaling here ok. And then this is called signaling man ok not a number this is called a not a number and if it happens to be a 0 or 1 followed by a non 0 pattern bit pattern that is called a signaling man and if suppose sin bit is a 1 and this all ok once again this bit pattern has to be 0 ok it cannot be a 0 or 1 it has to be a 0 and then a non 0 bit pattern is called a signaling man and then quiet man is this is 1 followed by a any value from 0 to all 1 that is called a quiet man. Now, what are the reasons for these two I will just give you on the next slide quiet man is this is the probably unchanged to most floating band operation. So, suppose wherever the performance of floating point operation there is a error has happened or you are not able to represent that number then you can put a quiet man then that value representation pattern you can put a pattern here that quiet pattern that is the bit 22 is ok 1 and then followed by a 0 to 1 all once ok that is a quiet man if it happens to be a 0 and then any non 0 pattern is called a signaling man. So, basically these two are given to represent some internal representations of floating point results which are understandable by the floating point processor ok and then basically with the application also. So, so this is to generate if you are not able to generate any sensible result you can put a value which is called a not a number to represent that intermediate values ok and then further any calculations depend on that we will continue to be using this man number thus quiet man can only be generated in this way if associated with the invalid operation ok. If you are generating an exception if the exception is untrapped you will use a quiet man if it is trapped then trap handler is called. See floating point I will be explaining in the later session. So, I thought I will talk about man here if you do not follow this you know maybe you may have to read some literature to understand this because of the time limit I am little going faster here. So, if it is the trap is there then you do not have to have a quiet man representation otherwise if you do not want to use use an any trap then you can have a quiet man number into the floating point number ok. Another typical use of quiet man is to represent missing values ok and then missing value in the sense suppose you are initializing a value and then you are you can initialize it with a quiet man and then if a particular floating point number is not initialized and then you are using it for a represent you know computation then this quiet man will indicate to the exception handler that that number was not initialized ok. The results of any calculation can that depend on the missing value or also quiet man. So,you can propagate this value. So, suppose suppose there are a happen in the floating point inventive in the computation the quiet man representation is used to internally from know propagate thatvalue into the computation. Signaling is then man is run for invalid operation exception whenever any floating point operation this is the signaling. So, this signaling man is used for a creating an exception ok for creating an exception the ARM processor suppose floating point is creating an exception the ARM ARM processor will be having a unsigned instruction exception which will take you to the exception handler which is specific to the floating point operation and then it will carry on with the value what is to be done. So, it is used for debugging and un-initialized variables. So, pre-rooted memories can be initialized with signaling man please understand that all the signaling man and quiet man are very implement implementations specific andthey can be used according to the implementation. So, IEEE standard does not specify how these two types of used and how many values are reserved for them ok. So, it says that one or more of the operands to an operation with a floating point result in a man ok. If any man operand is signaling man and invalid operation can generate an exception if it is un-trapped it should be changed to quiet man that is a quiet man actually basically needs that it isquite that means it will not generate a exception it will immediately you know it will quietly follow thatexception it will absorb the exception and then keep a quiet man in the representation whereas signaling man has to generate an exception that is all you should understand. The result must be if a man operands are quiet man the results also should be a quiet man. So, example of non-man operationintermediate form you know operations with a man at least if it has a one of one of the operand with a man as at least one operand and then if there is a 0 by 0 or infinity by infinity happens in your computation then you can generate a man operation man representation ok and or you are trying to do a plus infinity and minus infinity addition or you knowthis addition or you arepowers of you know you are doing a 0 to the power 0 or 1 to the power infinity they are all you know not representable. So, you can use the man representation for doing that. So, these are the different usages that you can have in the man representation and then real operations with the complex result suppose you are trying to find a square root of negative number this happens to be a in a imaginary number. If suppose you have only no complex number then you have to use a man problem you know logarithm of negative is also not defined. Similarly sin inverse cannot be out of this range minus 1 to plus 1. So, any number which represent which you know which cannot be represented in a typical protein by number you can use the man representation to handle those situations man's may also be explicitly assigned to variable ok to show that they are uninitialized that is all. Now, we are getting into a 64 bit representation which I am not going to go into the detail this you can take it as an assignment ok. Here I will only tell you what is the representation this is the 64 bit representation 3 bit 20 to 30 are reserved for exponent portion 11 bits are reserved in a floating point 8 bits were reserved. Now, we increase the exponent range and then earlier it was 23 for fraction now it is 52 ok sin bit is of course, 0 and you know that 1 bit. So, what do we gain by this? We are getting a range of numbers which are unimaginable 10 to the power 308 and if you recall the signal this is a precision you had a 10 power 308 I think what is the range? Here you are getting 10 power 308 such huge number and the bias is now 1 0 2 3 ok it is not minus 1 2 3 as was shown in the single position it is 1 0 2 3 of course, there is a because of 11 bit exponent portion which you should write it as an assignment for your understanding of double double precision representation and extended precision is called 80 bit. So, so this is this we are coming to an end of the floating point representation I hope it was useful to you and if you do not follow any of them please read and this and then and thus you know read through the documentation or any of the manual for books to have a better understanding and if you have a good understanding of the floating point you will be in a position to debug understand and write and design your own coprocessor for a floating point arithmetic or any other DSP or any scientific applications any processor needed for it ok. Thank you for your time and attention and let us see in the next class. Thank you very much have a nice day bye.