The upper and lower limits of IEEE-754 standard












1












$begingroup$


So there's something I just can't understand about ieee-754.



The specific questions are:



Which range of numbers can be represented by IEEE-754 standard using base 2 in single (double) precision?



Which range of numbers can be represented by IEEE-754 standard using base 10 in single (double) precision?



Which range of numbers can be represented by IEEE-754 standard using base 16 in single (double) precision?



(the textbook is not in English so I might not have translated this well but I hope you get the point).



The only information given in the textbook are the ranges themselves without the actual explanation of how they were calculated. For example:



binary32:



The largest normalized number: $(1-2^{-24})times 2^{128}$



The smallest normalized number: $1.0times 2^{-126}$



The smallest subnormal number: $1.0times 2^{-149}$



I have a test coming up where these kind of question will appear and I really don't feel like learning all of this by heart. On the other hand, there must be a method to calculate these values, but they seem so random and that's what confuses me.










share|cite|improve this question











$endgroup$












  • $begingroup$
    You would not learn those by heart. You would need to understand how floating point numbers are encoded in 32 bits: en.wikipedia.org/wiki/Single-precision_floating-point_format can serve as a good guideline. Once you understand that, you can easily see why those particular numbers are the limits. For example, if you know that the exponent goes up to 127, and that mantissa can go from $1_2$ to $1.11111111111111111111111_2=2-2^{-23}$ (23 'ones' after decimal point) - the maximum is obvious ($(2-2^{-23})2^{127}=(1-2^{-24})2^{128}$).
    $endgroup$
    – user491874
    Jan 16 '18 at 12:58












  • $begingroup$
    (Cont'd) Depending on the type of the test you will be taking, it may be worth trying to understand how IEEE-754 standard works, or it may be worth remembering those exact figures. If you are curious and mathematically minded, I guess you would prefer the first approach - but I cannot promise it is a simple standard to deal with, if you have no previous experience with floating point encodings. As I said, try Wikipedia first.
    $endgroup$
    – user491874
    Jan 16 '18 at 13:01
















1












$begingroup$


So there's something I just can't understand about ieee-754.



The specific questions are:



Which range of numbers can be represented by IEEE-754 standard using base 2 in single (double) precision?



Which range of numbers can be represented by IEEE-754 standard using base 10 in single (double) precision?



Which range of numbers can be represented by IEEE-754 standard using base 16 in single (double) precision?



(the textbook is not in English so I might not have translated this well but I hope you get the point).



The only information given in the textbook are the ranges themselves without the actual explanation of how they were calculated. For example:



binary32:



The largest normalized number: $(1-2^{-24})times 2^{128}$



The smallest normalized number: $1.0times 2^{-126}$



The smallest subnormal number: $1.0times 2^{-149}$



I have a test coming up where these kind of question will appear and I really don't feel like learning all of this by heart. On the other hand, there must be a method to calculate these values, but they seem so random and that's what confuses me.










share|cite|improve this question











$endgroup$












  • $begingroup$
    You would not learn those by heart. You would need to understand how floating point numbers are encoded in 32 bits: en.wikipedia.org/wiki/Single-precision_floating-point_format can serve as a good guideline. Once you understand that, you can easily see why those particular numbers are the limits. For example, if you know that the exponent goes up to 127, and that mantissa can go from $1_2$ to $1.11111111111111111111111_2=2-2^{-23}$ (23 'ones' after decimal point) - the maximum is obvious ($(2-2^{-23})2^{127}=(1-2^{-24})2^{128}$).
    $endgroup$
    – user491874
    Jan 16 '18 at 12:58












  • $begingroup$
    (Cont'd) Depending on the type of the test you will be taking, it may be worth trying to understand how IEEE-754 standard works, or it may be worth remembering those exact figures. If you are curious and mathematically minded, I guess you would prefer the first approach - but I cannot promise it is a simple standard to deal with, if you have no previous experience with floating point encodings. As I said, try Wikipedia first.
    $endgroup$
    – user491874
    Jan 16 '18 at 13:01














1












1








1





$begingroup$


So there's something I just can't understand about ieee-754.



The specific questions are:



Which range of numbers can be represented by IEEE-754 standard using base 2 in single (double) precision?



Which range of numbers can be represented by IEEE-754 standard using base 10 in single (double) precision?



Which range of numbers can be represented by IEEE-754 standard using base 16 in single (double) precision?



(the textbook is not in English so I might not have translated this well but I hope you get the point).



The only information given in the textbook are the ranges themselves without the actual explanation of how they were calculated. For example:



binary32:



The largest normalized number: $(1-2^{-24})times 2^{128}$



The smallest normalized number: $1.0times 2^{-126}$



The smallest subnormal number: $1.0times 2^{-149}$



I have a test coming up where these kind of question will appear and I really don't feel like learning all of this by heart. On the other hand, there must be a method to calculate these values, but they seem so random and that's what confuses me.










share|cite|improve this question











$endgroup$




So there's something I just can't understand about ieee-754.



The specific questions are:



Which range of numbers can be represented by IEEE-754 standard using base 2 in single (double) precision?



Which range of numbers can be represented by IEEE-754 standard using base 10 in single (double) precision?



Which range of numbers can be represented by IEEE-754 standard using base 16 in single (double) precision?



(the textbook is not in English so I might not have translated this well but I hope you get the point).



The only information given in the textbook are the ranges themselves without the actual explanation of how they were calculated. For example:



binary32:



The largest normalized number: $(1-2^{-24})times 2^{128}$



The smallest normalized number: $1.0times 2^{-126}$



The smallest subnormal number: $1.0times 2^{-149}$



I have a test coming up where these kind of question will appear and I really don't feel like learning all of this by heart. On the other hand, there must be a method to calculate these values, but they seem so random and that's what confuses me.







floating-point






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Jan 16 '18 at 13:15







user491874

















asked Jan 16 '18 at 12:38









KoyKoy

35116




35116












  • $begingroup$
    You would not learn those by heart. You would need to understand how floating point numbers are encoded in 32 bits: en.wikipedia.org/wiki/Single-precision_floating-point_format can serve as a good guideline. Once you understand that, you can easily see why those particular numbers are the limits. For example, if you know that the exponent goes up to 127, and that mantissa can go from $1_2$ to $1.11111111111111111111111_2=2-2^{-23}$ (23 'ones' after decimal point) - the maximum is obvious ($(2-2^{-23})2^{127}=(1-2^{-24})2^{128}$).
    $endgroup$
    – user491874
    Jan 16 '18 at 12:58












  • $begingroup$
    (Cont'd) Depending on the type of the test you will be taking, it may be worth trying to understand how IEEE-754 standard works, or it may be worth remembering those exact figures. If you are curious and mathematically minded, I guess you would prefer the first approach - but I cannot promise it is a simple standard to deal with, if you have no previous experience with floating point encodings. As I said, try Wikipedia first.
    $endgroup$
    – user491874
    Jan 16 '18 at 13:01


















  • $begingroup$
    You would not learn those by heart. You would need to understand how floating point numbers are encoded in 32 bits: en.wikipedia.org/wiki/Single-precision_floating-point_format can serve as a good guideline. Once you understand that, you can easily see why those particular numbers are the limits. For example, if you know that the exponent goes up to 127, and that mantissa can go from $1_2$ to $1.11111111111111111111111_2=2-2^{-23}$ (23 'ones' after decimal point) - the maximum is obvious ($(2-2^{-23})2^{127}=(1-2^{-24})2^{128}$).
    $endgroup$
    – user491874
    Jan 16 '18 at 12:58












  • $begingroup$
    (Cont'd) Depending on the type of the test you will be taking, it may be worth trying to understand how IEEE-754 standard works, or it may be worth remembering those exact figures. If you are curious and mathematically minded, I guess you would prefer the first approach - but I cannot promise it is a simple standard to deal with, if you have no previous experience with floating point encodings. As I said, try Wikipedia first.
    $endgroup$
    – user491874
    Jan 16 '18 at 13:01
















$begingroup$
You would not learn those by heart. You would need to understand how floating point numbers are encoded in 32 bits: en.wikipedia.org/wiki/Single-precision_floating-point_format can serve as a good guideline. Once you understand that, you can easily see why those particular numbers are the limits. For example, if you know that the exponent goes up to 127, and that mantissa can go from $1_2$ to $1.11111111111111111111111_2=2-2^{-23}$ (23 'ones' after decimal point) - the maximum is obvious ($(2-2^{-23})2^{127}=(1-2^{-24})2^{128}$).
$endgroup$
– user491874
Jan 16 '18 at 12:58






$begingroup$
You would not learn those by heart. You would need to understand how floating point numbers are encoded in 32 bits: en.wikipedia.org/wiki/Single-precision_floating-point_format can serve as a good guideline. Once you understand that, you can easily see why those particular numbers are the limits. For example, if you know that the exponent goes up to 127, and that mantissa can go from $1_2$ to $1.11111111111111111111111_2=2-2^{-23}$ (23 'ones' after decimal point) - the maximum is obvious ($(2-2^{-23})2^{127}=(1-2^{-24})2^{128}$).
$endgroup$
– user491874
Jan 16 '18 at 12:58














$begingroup$
(Cont'd) Depending on the type of the test you will be taking, it may be worth trying to understand how IEEE-754 standard works, or it may be worth remembering those exact figures. If you are curious and mathematically minded, I guess you would prefer the first approach - but I cannot promise it is a simple standard to deal with, if you have no previous experience with floating point encodings. As I said, try Wikipedia first.
$endgroup$
– user491874
Jan 16 '18 at 13:01




$begingroup$
(Cont'd) Depending on the type of the test you will be taking, it may be worth trying to understand how IEEE-754 standard works, or it may be worth remembering those exact figures. If you are curious and mathematically minded, I guess you would prefer the first approach - but I cannot promise it is a simple standard to deal with, if you have no previous experience with floating point encodings. As I said, try Wikipedia first.
$endgroup$
– user491874
Jan 16 '18 at 13:01










2 Answers
2






active

oldest

votes


















1












$begingroup$

The exponent for the IEEE-754 standard for single precision is in the range $-126$ ... $127$. The mantissa is of the form $1.xxxxxxxxxxxxxxxxxxxxxxx_2$ (23 binary digits ($x$'s), every $x$ is $0$ or $1$) for normalised numbers, and of the form $0.xxxxxxxxxxxxxxxxxxxxxxx_2$ for the subnormal numbers (which always assumes the exponent to be $-126$). Thus:




  • The biggest number takes the biggest mantissa and the biggest exponent: $1.11111111111111111111111_2times 2^{127}=(2-2^{-23})times 2^{127}=(1-2^{-24})times 2^{128}$

  • The smallest normalised number takes the smallest normalised mantissa and the smallest exponent: $1.00000000000000000000000_2times 2^{-126}=1.0times 2^{-126}$

  • The smallest subnormal number takes the smallest subnormal mantissa and the (smallest) exponent $-126$: $0.00000000000000000000001_2times 2^{-126}=2^{-23}times2^{-126}=1.0times 2^{-149}$


I've used the index $_2$ to denote a number written in binary (base $2$); all the other numbers are written in base $10$.






share|cite|improve this answer









$endgroup$





















    0












    $begingroup$

    Existing answer is true for base 2 single precision (i.e. binary32), and is easily extended to binary64 (just add more bits).



    However, there's IEEE754 format for decimal floating point, which encodes numbers somewhat differently, and uses either Binary Integer Decimal (BID) or Densely Packed Decimal (DPD) for binary encoding of decimal numbers.



    Regardless of the encoding, decimal can store 7 decimal digits in coefficient and values [-95, 96] in the exponent, if the coefficient is interpreted as $d_1.d_2d_3d_4d_5d_6d_7$. This means smallest representable number is $0.000001^{-95} = 1^{-101}$, and the largest $9.999999^{96} = 9999999^{90}$. This is including subnormal numbers $-$ because numbers aren't normalized in their decimal representation, exponent 0 is treated the same as any other.



    decimal64 expands the space to 16 digits for coefficient and exponent in range [-383, 384], and decimal128 34 digits in coefficient and exponent in range [-6143, 6144].



    IEEE754-2008 doesn't define any format for hexadecimal storage of floating point numbers.






    share|cite|improve this answer









    $endgroup$













      Your Answer





      StackExchange.ifUsing("editor", function () {
      return StackExchange.using("mathjaxEditing", function () {
      StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
      StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
      });
      });
      }, "mathjax-editing");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "69"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      noCode: true, onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2607697%2fthe-upper-and-lower-limits-of-ieee-754-standard%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      1












      $begingroup$

      The exponent for the IEEE-754 standard for single precision is in the range $-126$ ... $127$. The mantissa is of the form $1.xxxxxxxxxxxxxxxxxxxxxxx_2$ (23 binary digits ($x$'s), every $x$ is $0$ or $1$) for normalised numbers, and of the form $0.xxxxxxxxxxxxxxxxxxxxxxx_2$ for the subnormal numbers (which always assumes the exponent to be $-126$). Thus:




      • The biggest number takes the biggest mantissa and the biggest exponent: $1.11111111111111111111111_2times 2^{127}=(2-2^{-23})times 2^{127}=(1-2^{-24})times 2^{128}$

      • The smallest normalised number takes the smallest normalised mantissa and the smallest exponent: $1.00000000000000000000000_2times 2^{-126}=1.0times 2^{-126}$

      • The smallest subnormal number takes the smallest subnormal mantissa and the (smallest) exponent $-126$: $0.00000000000000000000001_2times 2^{-126}=2^{-23}times2^{-126}=1.0times 2^{-149}$


      I've used the index $_2$ to denote a number written in binary (base $2$); all the other numbers are written in base $10$.






      share|cite|improve this answer









      $endgroup$


















        1












        $begingroup$

        The exponent for the IEEE-754 standard for single precision is in the range $-126$ ... $127$. The mantissa is of the form $1.xxxxxxxxxxxxxxxxxxxxxxx_2$ (23 binary digits ($x$'s), every $x$ is $0$ or $1$) for normalised numbers, and of the form $0.xxxxxxxxxxxxxxxxxxxxxxx_2$ for the subnormal numbers (which always assumes the exponent to be $-126$). Thus:




        • The biggest number takes the biggest mantissa and the biggest exponent: $1.11111111111111111111111_2times 2^{127}=(2-2^{-23})times 2^{127}=(1-2^{-24})times 2^{128}$

        • The smallest normalised number takes the smallest normalised mantissa and the smallest exponent: $1.00000000000000000000000_2times 2^{-126}=1.0times 2^{-126}$

        • The smallest subnormal number takes the smallest subnormal mantissa and the (smallest) exponent $-126$: $0.00000000000000000000001_2times 2^{-126}=2^{-23}times2^{-126}=1.0times 2^{-149}$


        I've used the index $_2$ to denote a number written in binary (base $2$); all the other numbers are written in base $10$.






        share|cite|improve this answer









        $endgroup$
















          1












          1








          1





          $begingroup$

          The exponent for the IEEE-754 standard for single precision is in the range $-126$ ... $127$. The mantissa is of the form $1.xxxxxxxxxxxxxxxxxxxxxxx_2$ (23 binary digits ($x$'s), every $x$ is $0$ or $1$) for normalised numbers, and of the form $0.xxxxxxxxxxxxxxxxxxxxxxx_2$ for the subnormal numbers (which always assumes the exponent to be $-126$). Thus:




          • The biggest number takes the biggest mantissa and the biggest exponent: $1.11111111111111111111111_2times 2^{127}=(2-2^{-23})times 2^{127}=(1-2^{-24})times 2^{128}$

          • The smallest normalised number takes the smallest normalised mantissa and the smallest exponent: $1.00000000000000000000000_2times 2^{-126}=1.0times 2^{-126}$

          • The smallest subnormal number takes the smallest subnormal mantissa and the (smallest) exponent $-126$: $0.00000000000000000000001_2times 2^{-126}=2^{-23}times2^{-126}=1.0times 2^{-149}$


          I've used the index $_2$ to denote a number written in binary (base $2$); all the other numbers are written in base $10$.






          share|cite|improve this answer









          $endgroup$



          The exponent for the IEEE-754 standard for single precision is in the range $-126$ ... $127$. The mantissa is of the form $1.xxxxxxxxxxxxxxxxxxxxxxx_2$ (23 binary digits ($x$'s), every $x$ is $0$ or $1$) for normalised numbers, and of the form $0.xxxxxxxxxxxxxxxxxxxxxxx_2$ for the subnormal numbers (which always assumes the exponent to be $-126$). Thus:




          • The biggest number takes the biggest mantissa and the biggest exponent: $1.11111111111111111111111_2times 2^{127}=(2-2^{-23})times 2^{127}=(1-2^{-24})times 2^{128}$

          • The smallest normalised number takes the smallest normalised mantissa and the smallest exponent: $1.00000000000000000000000_2times 2^{-126}=1.0times 2^{-126}$

          • The smallest subnormal number takes the smallest subnormal mantissa and the (smallest) exponent $-126$: $0.00000000000000000000001_2times 2^{-126}=2^{-23}times2^{-126}=1.0times 2^{-149}$


          I've used the index $_2$ to denote a number written in binary (base $2$); all the other numbers are written in base $10$.







          share|cite|improve this answer












          share|cite|improve this answer



          share|cite|improve this answer










          answered Jan 16 '18 at 13:13







          user491874






























              0












              $begingroup$

              Existing answer is true for base 2 single precision (i.e. binary32), and is easily extended to binary64 (just add more bits).



              However, there's IEEE754 format for decimal floating point, which encodes numbers somewhat differently, and uses either Binary Integer Decimal (BID) or Densely Packed Decimal (DPD) for binary encoding of decimal numbers.



              Regardless of the encoding, decimal can store 7 decimal digits in coefficient and values [-95, 96] in the exponent, if the coefficient is interpreted as $d_1.d_2d_3d_4d_5d_6d_7$. This means smallest representable number is $0.000001^{-95} = 1^{-101}$, and the largest $9.999999^{96} = 9999999^{90}$. This is including subnormal numbers $-$ because numbers aren't normalized in their decimal representation, exponent 0 is treated the same as any other.



              decimal64 expands the space to 16 digits for coefficient and exponent in range [-383, 384], and decimal128 34 digits in coefficient and exponent in range [-6143, 6144].



              IEEE754-2008 doesn't define any format for hexadecimal storage of floating point numbers.






              share|cite|improve this answer









              $endgroup$


















                0












                $begingroup$

                Existing answer is true for base 2 single precision (i.e. binary32), and is easily extended to binary64 (just add more bits).



                However, there's IEEE754 format for decimal floating point, which encodes numbers somewhat differently, and uses either Binary Integer Decimal (BID) or Densely Packed Decimal (DPD) for binary encoding of decimal numbers.



                Regardless of the encoding, decimal can store 7 decimal digits in coefficient and values [-95, 96] in the exponent, if the coefficient is interpreted as $d_1.d_2d_3d_4d_5d_6d_7$. This means smallest representable number is $0.000001^{-95} = 1^{-101}$, and the largest $9.999999^{96} = 9999999^{90}$. This is including subnormal numbers $-$ because numbers aren't normalized in their decimal representation, exponent 0 is treated the same as any other.



                decimal64 expands the space to 16 digits for coefficient and exponent in range [-383, 384], and decimal128 34 digits in coefficient and exponent in range [-6143, 6144].



                IEEE754-2008 doesn't define any format for hexadecimal storage of floating point numbers.






                share|cite|improve this answer









                $endgroup$
















                  0












                  0








                  0





                  $begingroup$

                  Existing answer is true for base 2 single precision (i.e. binary32), and is easily extended to binary64 (just add more bits).



                  However, there's IEEE754 format for decimal floating point, which encodes numbers somewhat differently, and uses either Binary Integer Decimal (BID) or Densely Packed Decimal (DPD) for binary encoding of decimal numbers.



                  Regardless of the encoding, decimal can store 7 decimal digits in coefficient and values [-95, 96] in the exponent, if the coefficient is interpreted as $d_1.d_2d_3d_4d_5d_6d_7$. This means smallest representable number is $0.000001^{-95} = 1^{-101}$, and the largest $9.999999^{96} = 9999999^{90}$. This is including subnormal numbers $-$ because numbers aren't normalized in their decimal representation, exponent 0 is treated the same as any other.



                  decimal64 expands the space to 16 digits for coefficient and exponent in range [-383, 384], and decimal128 34 digits in coefficient and exponent in range [-6143, 6144].



                  IEEE754-2008 doesn't define any format for hexadecimal storage of floating point numbers.






                  share|cite|improve this answer









                  $endgroup$



                  Existing answer is true for base 2 single precision (i.e. binary32), and is easily extended to binary64 (just add more bits).



                  However, there's IEEE754 format for decimal floating point, which encodes numbers somewhat differently, and uses either Binary Integer Decimal (BID) or Densely Packed Decimal (DPD) for binary encoding of decimal numbers.



                  Regardless of the encoding, decimal can store 7 decimal digits in coefficient and values [-95, 96] in the exponent, if the coefficient is interpreted as $d_1.d_2d_3d_4d_5d_6d_7$. This means smallest representable number is $0.000001^{-95} = 1^{-101}$, and the largest $9.999999^{96} = 9999999^{90}$. This is including subnormal numbers $-$ because numbers aren't normalized in their decimal representation, exponent 0 is treated the same as any other.



                  decimal64 expands the space to 16 digits for coefficient and exponent in range [-383, 384], and decimal128 34 digits in coefficient and exponent in range [-6143, 6144].



                  IEEE754-2008 doesn't define any format for hexadecimal storage of floating point numbers.







                  share|cite|improve this answer












                  share|cite|improve this answer



                  share|cite|improve this answer










                  answered Jan 6 at 14:09









                  LukeLuke

                  1256




                  1256






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Mathematics Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      Use MathJax to format equations. MathJax reference.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2607697%2fthe-upper-and-lower-limits-of-ieee-754-standard%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Questions related to Moebius Transform of Characteristic Function of the Primes

                      List of scandals in India

                      Can not write log (Is /dev/pts mounted?) - openpty in Ubuntu-on-Windows?