Topic: Improvements in numbers


Author: Douglas Boffey <douglas.boffey@gmail.com>
Date: Sat, 29 Nov 2014 08:30:29 -0800 (PST)
Raw View
------=_Part_7649_624843745.1417278629650
Content-Type: multipart/alternative;
 boundary="----=_Part_7650_553788385.1417278629650"

------=_Part_7650_553788385.1417278629650
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Firstly, we can have hex, decimal, octal and (as of C++14) binary literals.

A number of languages allow arbitrary bases between 2 and 36, with the base=
=20
indicated with a decimal prefix.  Is there any reason C/C++ doesn=E2=80=99t=
=20
implement something similar?

Secondly, with the advent of suffices in C++11, there is a potential=20
ambiguity between a hex digit (or a based digit) and the suffix.  It would=
=20
be good if there was a mechanism to separate the suffix from the number in=
=20
such circumstances.  The question would be as to what symbol to use to=20
separate the number and its suffix.

Thirdly, what about extending the bases to floating point numbers.  I know=
=20
the argument as to what base the exponent should be, but I suggest that the=
=20
base of the exponent should be indicated from the mantissa base.  Again, it=
=20
should be possible to separate the =E2=80=98E=E2=80=99, indicating an expon=
ential, from the=20
mantissa, similarly to the second point.  Octal mantissae would be=20
indicated by either =E2=80=9800=E2=80=99 before the decimal point, or =E2=
=80=980=E2=80=99 before an octal=20
digit (as per integers).

Fourthly, how about having a binary exponent, =E2=80=98B=E2=80=99, so that =
<mant>B+<exp>=20
becomes <mant> =C3=97 pow(2, <exp>)?

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

------=_Part_7650_553788385.1417278629650
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Firstly, we can have hex, decimal, octal and (as of C++14)=
 binary literals.<br><br>A number of languages allow arbitrary bases betwee=
n 2 and 36, with the base indicated with a decimal prefix.&nbsp; Is there a=
ny reason C/C++ doesn=E2=80=99t implement something similar?<br><br>Secondl=
y, with the advent of suffices in C++11, there is a potential ambiguity bet=
ween a hex digit (or a based digit) and the suffix.&nbsp; It would be good =
if there was a mechanism to separate the suffix from the number in such cir=
cumstances.&nbsp; The question would be as to what symbol to use to separat=
e the number and its suffix.<br><br>Thirdly, what about extending the bases=
 to floating point numbers.&nbsp; I know the argument as to what base the e=
xponent should be, but I suggest that the base of the exponent should be in=
dicated from the mantissa base.&nbsp; Again, it should be possible to separ=
ate the =E2=80=98E=E2=80=99, indicating an exponential, from the mantissa, =
similarly to the second point.&nbsp; Octal mantissae would be indicated by =
either =E2=80=9800=E2=80=99 before the decimal point, or =E2=80=980=E2=80=
=99 before an octal digit (as per integers).<br><br>Fourthly, how about hav=
ing a binary exponent, =E2=80=98B=E2=80=99, so that &lt;mant&gt;B+&lt;exp&g=
t; becomes &lt;mant&gt; =C3=97 pow(2, &lt;exp&gt;)?<br></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

------=_Part_7650_553788385.1417278629650--
------=_Part_7649_624843745.1417278629650--

.


Author: David Krauss <potswa@gmail.com>
Date: Sun, 30 Nov 2014 09:20:57 +0800
Raw View
--Apple-Mail=_7B3FB45F-1691-43E2-BE22-DCE239DE34F2
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8


On 2014=E2=80=9311=E2=80=9330, at 12:30 AM, Douglas Boffey <douglas.boffey@=
gmail.com> wrote:

> Firstly, we can have hex, decimal, octal and (as of C++14) binary literal=
s.
>=20
> A number of languages allow arbitrary bases between 2 and 36, with the ba=
se indicated with a decimal prefix.  Is there any reason C/C++ doesn=E2=80=
=99t implement something similar?

It can, with literal operator templates.

> Secondly, with the advent of suffices in C++11, there is a potential ambi=
guity between a hex digit (or a based digit) and the suffix.  It would be g=
ood if there was a mechanism to separate the suffix from the number in such=
 circumstances.  The question would be as to what symbol to use to separate=
 the number and its suffix.

We already have the single-quote =E2=80=9Cdigit separator.=E2=80=9D

> Thirdly, what about extending the bases to floating point numbers.  I kno=
w the argument as to what base the exponent should be, but I suggest that t=
he base of the exponent should be indicated from the mantissa base.  Again,=
 it should be possible to separate the =E2=80=98E=E2=80=99, indicating an e=
xponential, from the mantissa, similarly to the second point.  Octal mantis=
sae would be indicated by either =E2=80=9800=E2=80=99 before the decimal po=
int, or =E2=80=980=E2=80=99 before an octal digit (as per integers).

Who wants to be the one to explain to the scientists who=E2=80=99ve padded =
numbers with leading zeroes that now they=E2=80=99re octal? (Octal is mainl=
y nice for file permissions, is floating-point octal part of a new security=
 scheme?)

> Fourthly, how about having a binary exponent, =E2=80=98B=E2=80=99, so tha=
t <mant>B+<exp> becomes <mant> =C3=97 pow(2, <exp>)?

C has this since 1999, and Clang and GCC allow it, only issuing a warning i=
n -pedantic mode. C++ should probably adopt it as the existing practice. (A=
 binary exponent is denoted by P and is only available when the mantissa is=
 specified in hex.)

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

--Apple-Mail=_7B3FB45F-1691-43E2-BE22-DCE239DE34F2
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=UTF-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dwindows-1252"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-=
mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 2014=
=E2=80=9311=E2=80=9330, at 12:30 AM, Douglas Boffey &lt;<a href=3D"mailto:d=
ouglas.boffey@gmail.com">douglas.boffey@gmail.com</a>&gt; wrote:</div><br c=
lass=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div dir=3D"lt=
r">Firstly, we can have hex, decimal, octal and (as of C++14) binary litera=
ls.<br><br>A number of languages allow arbitrary bases between 2 and 36, wi=
th the base indicated with a decimal prefix.&nbsp; Is there any reason C/C+=
+ doesn=E2=80=99t implement something similar?<br></div></blockquote><div><=
br></div><div>It can, with literal operator templates.</div><br><blockquote=
 type=3D"cite"><div dir=3D"ltr">Secondly, with the advent of suffices in C+=
+11, there is a potential ambiguity between a hex digit (or a based digit) =
and the suffix.&nbsp; It would be good if there was a mechanism to separate=
 the suffix from the number in such circumstances.&nbsp; The question would=
 be as to what symbol to use to separate the number and its suffix.<br></di=
v></blockquote><div><br></div><div>We already have the single-quote =E2=80=
=9Cdigit separator.=E2=80=9D</div><br><blockquote type=3D"cite"><div dir=3D=
"ltr">Thirdly, what about extending the bases to floating point numbers.&nb=
sp; I know the argument as to what base the exponent should be, but I sugge=
st that the base of the exponent should be indicated from the mantissa base=
..&nbsp; Again, it should be possible to separate the =E2=80=98E=E2=80=99, i=
ndicating an exponential, from the mantissa, similarly to the second point.=
&nbsp; Octal mantissae would be indicated by either =E2=80=9800=E2=80=99 be=
fore the decimal point, or =E2=80=980=E2=80=99 before an octal digit (as pe=
r integers).<br></div></blockquote><div><br></div><div>Who wants to be the =
one to explain to the scientists who=E2=80=99ve padded numbers with leading=
 zeroes that now they=E2=80=99re octal? (Octal is mainly nice for file perm=
issions, is floating-point octal part of a new security scheme?)</div><br><=
blockquote type=3D"cite"><div dir=3D"ltr">Fourthly, how about having a bina=
ry exponent, =E2=80=98B=E2=80=99, so that &lt;mant&gt;B+&lt;exp&gt; becomes=
 &lt;mant&gt; =C3=97 pow(2, &lt;exp&gt;)?</div></blockquote><br></div><div>=
C has this since 1999, and Clang and GCC allow it, only issuing a warning i=
n <font face=3D"Courier">-pedantic</font> mode. C++ should probably adopt i=
t as the existing practice. (A binary exponent is denoted by <font face=3D"=
Courier">P</font> and is only available when the mantissa is specified in h=
ex.)</div></body></html>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--Apple-Mail=_7B3FB45F-1691-43E2-BE22-DCE239DE34F2--

.


Author: Matthew Woehlke <mw_triad@users.sourceforge.net>
Date: Mon, 01 Dec 2014 11:44:22 -0500
Raw View
On 2014-11-29 11:30, Douglas Boffey wrote:
> Thirdly, what about extending the bases to floating point numbers.

I'd be in favor of at least hex float constants.

> I know the argument as to what base the exponent should be,

Not really; there is already a convention (at least for hex) that 'p' is
used as the exponent. For example, 0x1ep-1 =3D=3D 1.875.

> Fourthly, how about having a binary exponent, =E2=80=98B=E2=80=99, so tha=
t <mant>B+<exp>=20
> becomes <mant> =C3=97 pow(2, <exp>)?

'ldexp(<mant>, <exp>)'? :-)

If ldexp could be standardized as being constexpr (already the case in
libstdc++, not the case in libc++), I don't see there being much use for
this... OTOH if it's already convention in C...

--=20
Matthew

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

.


Author: Douglas Boffey <douglas.boffey@gmail.com>
Date: Fri, 5 Dec 2014 06:29:20 -0800 (PST)
Raw View
------=_Part_1924_113389025.1417789760619
Content-Type: multipart/alternative;
 boundary="----=_Part_1925_911348286.1417789760619"

------=_Part_1925_911348286.1417789760619
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable



On Sunday, 30 November 2014 02:07:27 UTC, David Krauss wrote:
>
>
> On 2014=E2=80=9311=E2=80=9330, at 12:30 AM, Douglas Boffey <douglas...@gm=
ail.com=20
> <javascript:>> wrote:
>
> Firstly, we can have hex, decimal, octal and (as of C++14) binary literal=
s.
>
> A number of languages allow arbitrary bases between 2 and 36, with the=20
> base indicated with a decimal prefix.  Is there any reason C/C++ doesn=E2=
=80=99t=20
> implement something similar?
>
>
> It can, with literal operator templates.
>
> Secondly, with the advent of suffices in C++11, there is a potential=20
> ambiguity between a hex digit (or a based digit) and the suffix.  It woul=
d=20
> be good if there was a mechanism to separate the suffix from the number i=
n=20
> such circumstances.  The question would be as to what symbol to use to=20
> separate the number and its suffix.
>
>
> We already have the single-quote =E2=80=9Cdigit separator.=E2=80=9D
>

I=E2=80=99m not sure that meets the criterion.  For example,

0x1a // 26
0x1'a //26
0x1=E2=97=8Ca // operator""a(1)




> Thirdly, what about extending the bases to floating point numbers.  I kno=
w=20
> the argument as to what base the exponent should be, but I suggest that t=
he=20
> base of the exponent should be indicated from the mantissa base.  Again, =
it=20
> should be possible to separate the =E2=80=98E=E2=80=99, indicating an exp=
onential, from the=20
> mantissa, similarly to the second point.  Octal mantissae would be=20
> indicated by either =E2=80=9800=E2=80=99 before the decimal point, or =E2=
=80=980=E2=80=99 before an octal=20
> digit (as per integers).
>
>
> Who wants to be the one to explain to the scientists who=E2=80=99ve padde=
d numbers=20
> with leading zeroes that now they=E2=80=99re octal? (Octal is mainly nice=
 for file=20
> permissions, is floating-point octal part of a new security scheme?)
>
> Although I was aware of the potential breaking change, I didn=E2=80=99t t=
hink that=20
people actually coded like that=E2=80=A6 looks like I=E2=80=99m wrong.  May=
be introduce a=20
new octal prefix (I=E2=80=99d say 0o, except a zero and an oh look too simi=
lar).=20

> Fourthly, how about having a binary exponent, =E2=80=98B=E2=80=99, so tha=
t <mant>B+<exp>=20
> becomes <mant> =C3=97 pow(2, <exp>)?
>
>
> C has this since 1999, and Clang and GCC allow it, only issuing a warning=
=20
> in -pedantic mode. C++ should probably adopt it as the existing practice.=
=20
> (A binary exponent is denoted by P and is only available when the=20
> mantissa is specified in hex.)
>

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

------=_Part_1925_911348286.1417789760619
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Sunday, 30 November 2014 02:07:27 UTC, David Kr=
auss  wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-lef=
t: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div style=3D"word=
-wrap:break-word"><br><div><div>On 2014=E2=80=9311=E2=80=9330, at 12:30 AM,=
 Douglas Boffey &lt;<a href=3D"javascript:" target=3D"_blank" gdf-obfuscate=
d-mailto=3D"Dh8kroHx4SAJ" onmousedown=3D"this.href=3D'javascript:';return t=
rue;" onclick=3D"this.href=3D'javascript:';return true;">douglas...@gmail.c=
om</a>&gt; wrote:</div><br><blockquote type=3D"cite"><div dir=3D"ltr">First=
ly, we can have hex, decimal, octal and (as of C++14) binary literals.<br><=
br>A number of languages allow arbitrary bases between 2 and 36, with the b=
ase indicated with a decimal prefix.&nbsp; Is there any reason C/C++ doesn=
=E2=80=99t implement something similar?<br></div></blockquote><div><br></di=
v><div>It can, with literal operator templates.</div><br><blockquote type=
=3D"cite"><div dir=3D"ltr">Secondly, with the advent of suffices in C++11, =
there is a potential ambiguity between a hex digit (or a based digit) and t=
he suffix.&nbsp; It would be good if there was a mechanism to separate the =
suffix from the number in such circumstances.&nbsp; The question would be a=
s to what symbol to use to separate the number and its suffix.<br></div></b=
lockquote><div><br></div><div>We already have the single-quote =E2=80=9Cdig=
it separator.=E2=80=9D</div></div></div></blockquote><div><br>I=E2=80=99m n=
ot sure that meets the criterion.&nbsp; For example,<br><br><div class=3D"p=
rettyprint" style=3D"background-color: rgb(250, 250, 250); border-color: rg=
b(187, 187, 187); border-style: solid; border-width: 1px; word-wrap: break-=
word;"><code class=3D"prettyprint"><div class=3D"subprettyprint"><span styl=
e=3D"color: #066;" class=3D"styled-by-prettify">0x1a</span><span style=3D"c=
olor: #000;" class=3D"styled-by-prettify"> </span><span style=3D"color: #80=
0;" class=3D"styled-by-prettify">// 26</span><span style=3D"color: #000;" c=
lass=3D"styled-by-prettify"><br></span><span style=3D"color: #066;" class=
=3D"styled-by-prettify">0x1</span><span style=3D"color: #080;" class=3D"sty=
led-by-prettify">'a //26<br>0x1=E2=97=8Ca // operator""a(1)<br><br></span><=
/div></code></div><br><br></div><blockquote class=3D"gmail_quote" style=3D"=
margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;=
"><div style=3D"word-wrap:break-word"><div><br><blockquote type=3D"cite"><d=
iv dir=3D"ltr">Thirdly, what about extending the bases to floating point nu=
mbers.&nbsp; I know the argument as to what base the exponent should be, bu=
t I suggest that the base of the exponent should be indicated from the mant=
issa base.&nbsp; Again, it should be possible to separate the =E2=80=98E=E2=
=80=99, indicating an exponential, from the mantissa, similarly to the seco=
nd point.&nbsp; Octal mantissae would be indicated by either =E2=80=9800=E2=
=80=99 before the decimal point, or =E2=80=980=E2=80=99 before an octal dig=
it (as per integers).<br></div></blockquote><div><br></div><div>Who wants t=
o be the one to explain to the scientists who=E2=80=99ve padded numbers wit=
h leading zeroes that now they=E2=80=99re octal? (Octal is mainly nice for =
file permissions, is floating-point octal part of a new security scheme?)</=
div><br></div></div></blockquote><div>Although I was aware of the potential=
 breaking change, I didn=E2=80=99t think that people actually coded like th=
at=E2=80=A6 looks like I=E2=80=99m wrong.&nbsp; Maybe introduce a new octal=
 prefix (I=E2=80=99d say 0o, except a zero and an oh look too similar). <br=
></div><blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.=
8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div style=3D"word-wrap=
:break-word"><div><blockquote type=3D"cite"><div dir=3D"ltr">Fourthly, how =
about having a binary exponent, =E2=80=98B=E2=80=99, so that &lt;mant&gt;B+=
&lt;exp&gt; becomes &lt;mant&gt; =C3=97 pow(2, &lt;exp&gt;)?</div></blockqu=
ote><br></div><div>C has this since 1999, and Clang and GCC allow it, only =
issuing a warning in <font face=3D"Courier">-pedantic</font> mode. C++ shou=
ld probably adopt it as the existing practice. (A binary exponent is denote=
d by <font face=3D"Courier">P</font> and is only available when the mantiss=
a is specified in hex.)</div></div></blockquote></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

------=_Part_1925_911348286.1417789760619--
------=_Part_1924_113389025.1417789760619--

.


Author: Douglas Boffey <douglas.boffey@gmail.com>
Date: Fri, 5 Dec 2014 06:34:46 -0800 (PST)
Raw View
------=_Part_1777_946905492.1417790086896
Content-Type: multipart/alternative;
 boundary="----=_Part_1778_1786779774.1417790086896"

------=_Part_1778_1786779774.1417790086896
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable



On Monday, 1 December 2014 16:44:38 UTC, Matthew Woehlke wrote:
>
> On 2014-11-29 11:30, Douglas Boffey wrote:=20
> > Thirdly, what about extending the bases to floating point numbers.=20
>
> I'd be in favor of at least hex float constants.=20
>
> > I know the argument as to what base the exponent should be,=20
>
> Not really; there is already a convention (at least for hex) that 'p' is=
=20
> used as the exponent. For example, 0x1ep-1 =3D=3D 1.875.=20
>
> It looks like I=E2=80=99ve not expressed myself clearly.  What I was refe=
rring to=20
was the base the exponent digits were written in:

0x1a=E2=97=8Ce+12 // Should this be equivalent to 26e+12 or 26e+18?  I=E2=
=80=99d say the=20
former, and if the latter were needed, the exponent should be 0x12

 where =E2=97=8C represents an as yet undecided separator (see reply to Dav=
id=20
Krauss)

> Fourthly, how about having a binary exponent, =E2=80=98B=E2=80=99, so tha=
t <mant>B+<exp>=20
> > becomes <mant> =C3=97 pow(2, <exp>)?=20
>
> 'ldexp(<mant>, <exp>)'? :-)=20
>

True, but ugly, I=E2=80=99d say ;)=20

>
> If ldexp could be standardized as being constexpr (already the case in=20
> libstdc++, not the case in libc++), I don't see there being much use for=
=20
> this... OTOH if it's already convention in C...=20
>
> --=20
> Matthew=20
>
>

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

------=_Part_1778_1786779774.1417790086896
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Monday, 1 December 2014 16:44:38 UTC, Matthew W=
oehlke  wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-l=
eft: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On 2014-11-29 11=
:30, Douglas Boffey wrote:
<br>&gt; Thirdly, what about extending the bases to floating point numbers.
<br>
<br>I'd be in favor of at least hex float constants.
<br>
<br>&gt; I know the argument as to what base the exponent should be,
<br>
<br>Not really; there is already a convention (at least for hex) that 'p' i=
s
<br>used as the exponent. For example, 0x1ep-1 =3D=3D 1.875.
<br>
<br></blockquote><div>It looks like I=E2=80=99ve not expressed myself clear=
ly.&nbsp; What I was referring to was the base the exponent digits were wri=
tten in:<br><br><div class=3D"prettyprint" style=3D"background-color: rgb(2=
50, 250, 250); border-color: rgb(187, 187, 187); border-style: solid; borde=
r-width: 1px; word-wrap: break-word;"><code class=3D"prettyprint"><div clas=
s=3D"subprettyprint"><span style=3D"color: #066;" class=3D"styled-by-pretti=
fy">0x1a</span><span style=3D"color: #660;" class=3D"styled-by-prettify">=
=E2=97=8C</span><span style=3D"color: #000;" class=3D"styled-by-prettify">e=
</span><span style=3D"color: #660;" class=3D"styled-by-prettify">+</span><s=
pan style=3D"color: #066;" class=3D"styled-by-prettify">12</span><span styl=
e=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"colo=
r: #800;" class=3D"styled-by-prettify">// Should this be equivalent to 26e+=
12 or 26e+18? &nbsp;I=E2=80=99d say the former, and if the latter were need=
ed, the exponent should be 0x12</span><span style=3D"color: #000;" class=3D=
"styled-by-prettify"><br></span></div></code></div><br>&nbsp;where =E2=97=
=8C represents an as yet undecided separator (see reply to David Krauss)<br=
><br></div><blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left=
: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">&gt; Fourthly, how =
about having a binary exponent, =E2=80=98B=E2=80=99, so that &lt;mant&gt;B+=
&lt;exp&gt;=20
<br>&gt; becomes &lt;mant&gt; =C3=97 pow(2, &lt;exp&gt;)?
<br>
<br>'ldexp(&lt;mant&gt;, &lt;exp&gt;)'? :-)
<br></blockquote><div><br>True, but ugly, I=E2=80=99d say ;) <br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-=
left: 1px #ccc solid;padding-left: 1ex;">
<br>If ldexp could be standardized as being constexpr (already the case in
<br>libstdc++, not the case in libc++), I don't see there being much use fo=
r
<br>this... OTOH if it's already convention in C...
<br>
<br>--=20
<br>Matthew
<br>
<br></blockquote></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

------=_Part_1778_1786779774.1417790086896--
------=_Part_1777_946905492.1417790086896--

.


Author: Matthew Woehlke <mw_triad@users.sourceforge.net>
Date: Fri, 05 Dec 2014 11:22:47 -0500
Raw View
On 2014-12-05 09:34, Douglas Boffey wrote:
> On Monday, 1 December 2014 16:44:38 UTC, Matthew Woehlke wrote:
>> On 2014-11-29 11:30, Douglas Boffey wrote:=20
>>> Thirdly, what about extending the bases to floating point numbers.=20
>>> I know the argument as to what base the exponent should be,=20
>>
>> Not really; there is already a convention (at least for hex) that 'p' is=
=20
>> used as the exponent. For example, 0x1ep-1 =3D=3D 1.875.=20
>
> It looks like I=E2=80=99ve not expressed myself clearly.  What I was refe=
rring to=20
> was the base the exponent digits were written in:
>=20
> 0x1a=E2=97=8Ce+12 // Should this be equivalent to 26e+12 or 26e+18?  I=E2=
=80=99d say the=20
> former, and if the latter were needed, the exponent should be 0x12
>=20
>  where =E2=97=8C represents an as yet undecided separator (see reply to D=
avid=20
> Krauss)

....for hexadecimal, it isn't undecided. One writes:

0x1ap+12 (i.e. 26e+12)

I believe the standard is that the exponent is in decimal regardless of
the base of the mantissa. Besides, I agree that another way to look at
it is that the exponent is just "an integer", with the usual parsing
rules, i.e.:

  // okay; 26e+12
  auto a =3D 0x1ap+12;

  // also okay; also 26e+12
  auto b =3D 0x1ap+0xc

  // ditto
  0x1ap0014

--=20
Matthew

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

.


Author: Miro Knejp <miro.knejp@gmail.com>
Date: Fri, 5 Dec 2014 17:51:11 +0100
Raw View
--Apple-Mail=_85A616B6-8D08-44FD-99F3-FAFCC79DD343
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8


> On 05 Dec 2014, at 17:22 , Matthew Woehlke <mw_triad@users.sourceforge.ne=
t> wrote:
>=20
> On 2014-12-05 09:34, Douglas Boffey wrote:
>> On Monday, 1 December 2014 16:44:38 UTC, Matthew Woehlke wrote:
>>> On 2014-11-29 11:30, Douglas Boffey wrote:=20
>>>> Thirdly, what about extending the bases to floating point numbers.=20
>>>> I know the argument as to what base the exponent should be,=20
>>>=20
>>> Not really; there is already a convention (at least for hex) that 'p' i=
s=20
>>> used as the exponent. For example, 0x1ep-1 =3D=3D 1.875.=20
>>=20
>> It looks like I=E2=80=99ve not expressed myself clearly.  What I was ref=
erring to=20
>> was the base the exponent digits were written in:
>>=20
>> 0x1a=E2=97=8Ce+12 // Should this be equivalent to 26e+12 or 26e+18?  I=
=E2=80=99d say the=20
>> former, and if the latter were needed, the exponent should be 0x12
>>=20
>> where =E2=97=8C represents an as yet undecided separator (see reply to D=
avid=20
>> Krauss)
>=20
> ...for hexadecimal, it isn't undecided. One writes:
>=20
> 0x1ap+12 (i.e. 26e+12)
>=20
> I believe the standard is that the exponent is in decimal regardless of
> the base of the mantissa. Besides, I agree that another way to look at
> it is that the exponent is just "an integer", with the usual parsing
> rules, i.e.:
>=20
>  // okay; 26e+12
>  auto a =3D 0x1ap+12;
>=20
>  // also okay; also 26e+12
>  auto b =3D 0x1ap+0xc
>=20
>  // ditto
>  0x1ap0014

For what it=E2=80=99s worth the %a specifier of printf() produces [-] 0x h.=
hhh p =C2=B1 d
(see http://en.cppreference.com/w/c/io/fprintf <http://en.cppreference.com/=
w/c/io/fprintf> ).
Note the difference between h and d. It also makes sense, since only the fi=
rst number is preceded with 0x and what it=E2=80=99s trying to solve is exa=
ct round-tripping of the mantissa. Round-tripping the exponent doesn=E2=80=
=99t require hex trickery.

That said, maybe it=E2=80=99s better to keep =E2=80=9Cp=E2=80=9D reserved f=
or hex float literals.
Given you can use up all characters with base 36 what about turning the thi=
ng around? Specify the radix first, the value second:

0r16rFF // Base 16 parsed from =E2=80=9CFF=E2=80=9D =3D 255
0r36rrr // Base 36 parsed from =E2=80=9Crr=E2=80=9D =3D 999

Looks a bit weird and doesn=E2=80=99t work with UDLs (unless a whitespace i=
s inserted), but if you need an exotic base you=E2=80=99re probably used to=
 looking at even weirder stuff=E2=80=A6


--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

--Apple-Mail=_85A616B6-8D08-44FD-99F3-FAFCC79DD343
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=UTF-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dutf-8"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: s=
pace; -webkit-line-break: after-white-space;" class=3D""><br class=3D""><di=
v><blockquote type=3D"cite" class=3D""><div class=3D"">On 05 Dec 2014, at 1=
7:22 , Matthew Woehlke &lt;<a href=3D"mailto:mw_triad@users.sourceforge.net=
" class=3D"">mw_triad@users.sourceforge.net</a>&gt; wrote:</div><br class=
=3D"Apple-interchange-newline"><div class=3D"">On 2014-12-05 09:34, Douglas=
 Boffey wrote:<br class=3D""><blockquote type=3D"cite" class=3D"">On Monday=
, 1 December 2014 16:44:38 UTC, Matthew Woehlke wrote:<br class=3D""><block=
quote type=3D"cite" class=3D"">On 2014-11-29 11:30, Douglas Boffey wrote: <=
br class=3D""><blockquote type=3D"cite" class=3D"">Thirdly, what about exte=
nding the bases to floating point numbers. <br class=3D"">I know the argume=
nt as to what base the exponent should be, <br class=3D""></blockquote><br =
class=3D"">Not really; there is already a convention (at least for hex) tha=
t 'p' is <br class=3D"">used as the exponent. For example, 0x1ep-1 =3D=3D 1=
..875. <br class=3D""></blockquote><br class=3D"">It looks like I=E2=80=99ve=
 not expressed myself clearly. &nbsp;What I was referring to <br class=3D""=
>was the base the exponent digits were written in:<br class=3D""><br class=
=3D"">0x1a=E2=97=8Ce+12 // Should this be equivalent to 26e+12 or 26e+18? &=
nbsp;I=E2=80=99d say the <br class=3D"">former, and if the latter were need=
ed, the exponent should be 0x12<br class=3D""><br class=3D""> where =E2=97=
=8C represents an as yet undecided separator (see reply to David <br class=
=3D"">Krauss)<br class=3D""></blockquote><br class=3D"">...for hexadecimal,=
 it isn't undecided. One writes:<br class=3D""><br class=3D"">0x1ap+12 (i.e=
.. 26e+12)<br class=3D""><br class=3D"">I believe the standard is that the e=
xponent is in decimal regardless of<br class=3D"">the base of the mantissa.=
 Besides, I agree that another way to look at<br class=3D"">it is that the =
exponent is just "an integer", with the usual parsing<br class=3D"">rules, =
i.e.:<br class=3D""><br class=3D""> &nbsp;// okay; 26e+12<br class=3D""> &n=
bsp;auto a =3D 0x1ap+12;<br class=3D""><br class=3D""> &nbsp;// also okay; =
also 26e+12<br class=3D""> &nbsp;auto b =3D 0x1ap+0xc<br class=3D""><br cla=
ss=3D""> &nbsp;// ditto<br class=3D""> &nbsp;0x1ap0014<br class=3D""></div>=
</blockquote><div><br class=3D""></div>For what it=E2=80=99s worth the %a s=
pecifier of printf() produces&nbsp;<i class=3D"">[-]&nbsp;</i><b class=3D""=
>0x&nbsp;</b><i class=3D"">h.hhh&nbsp;</i><b class=3D"">p&nbsp;</b><i class=
=3D"">=C2=B1 d</i></div><div>(see&nbsp;<a href=3D"http://en.cppreference.co=
m/w/c/io/fprintf" class=3D"">http://en.cppreference.com/w/c/io/fprintf</a>&=
nbsp;).</div><div>Note the difference between <i class=3D"">h</i> and <i cl=
ass=3D"">d</i>. It also makes sense, since only the first number is precede=
d with 0x and what it=E2=80=99s trying to solve is exact round-tripping of =
the mantissa. Round-tripping the exponent doesn=E2=80=99t require hex trick=
ery.</div><div><br class=3D""></div><div>That said, maybe it=E2=80=99s bett=
er to keep =E2=80=9Cp=E2=80=9D reserved for hex float literals.</div><div>G=
iven you can use up all characters with base 36 what about turning the thin=
g around? Specify the radix first, the value second:</div><div><br class=3D=
""></div><div>0r16rFF // Base 16 parsed from =E2=80=9CFF=E2=80=9D =3D 255</=
div><div>0r36rrr // Base 36 parsed from =E2=80=9Crr=E2=80=9D =3D 999</div><=
div><br class=3D""></div><div>Looks a bit weird and doesn=E2=80=99t work wi=
th UDLs (unless a whitespace is inserted), but if you need an exotic base y=
ou=E2=80=99re probably used to looking at even weirder stuff=E2=80=A6</div>=
<div><br class=3D""></div><div><br class=3D""></div></body></html>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--Apple-Mail=_85A616B6-8D08-44FD-99F3-FAFCC79DD343--

.


Author: David Krauss <potswa@gmail.com>
Date: Sat, 6 Dec 2014 14:56:55 +0800
Raw View
--Apple-Mail=_1C392B9A-0678-4CA8-AF47-584AE1D38A13
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8


> On 2014=E2=80=9312=E2=80=9305, at 10:29 PM, Douglas Boffey <douglas.boffe=
y@gmail.com> wrote:
>=20
> On Sunday, 30 November 2014 02:07:27 UTC, David Krauss wrote:
> We already have the single-quote =E2=80=9Cdigit separator.=E2=80=9D
>=20
> I=E2=80=99m not sure that meets the criterion.  For example,
>=20
> 0x1a // 26
> 0x1'a //26
> 0x1=E2=97=8Ca // operator""a(1)
>=20
>=20

In those terms, the underscore is the suffix separator. operator "" a is an=
 invalid identifier. Proposals for new builtin or standard-library suffixes=
 can be designed to avoid such ambiguity.

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

--Apple-Mail=_1C392B9A-0678-4CA8-AF47-584AE1D38A13
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=UTF-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dutf-8"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: s=
pace; -webkit-line-break: after-white-space;" class=3D""><br class=3D""><di=
v><blockquote type=3D"cite" class=3D""><div class=3D"">On 2014=E2=80=9312=
=E2=80=9305, at 10:29 PM, Douglas Boffey &lt;<a href=3D"mailto:douglas.boff=
ey@gmail.com" class=3D"">douglas.boffey@gmail.com</a>&gt; wrote:</div><div =
class=3D""><div dir=3D"ltr" class=3D""><br class=3D"">On Sunday, 30 Novembe=
r 2014 02:07:27 UTC, David Krauss  wrote:<blockquote class=3D"gmail_quote" =
style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-l=
eft: 1ex;"><div style=3D"word-wrap:break-word" class=3D"">We already have t=
he single-quote =E2=80=9Cdigit separator.=E2=80=9D</div></blockquote><div c=
lass=3D""><br class=3D"">I=E2=80=99m not sure that meets the criterion.&nbs=
p; For example,<br class=3D""><br class=3D""><div class=3D"prettyprint" sty=
le=3D"background-color: rgb(250, 250, 250); border-color: rgb(187, 187, 187=
); border-style: solid; border-width: 1px; word-wrap: break-word;"><code cl=
ass=3D"prettyprint"><span style=3D"color: #066;" class=3D"styled-by-prettif=
y">0x1a</span> <span style=3D"color: #800;" class=3D"styled-by-prettify">//=
 26</span><br class=3D""><span style=3D"color: #066;" class=3D"styled-by-pr=
ettify">0x1</span><span style=3D"color: #080;" class=3D"styled-by-prettify"=
>'a //26<br class=3D"">0x1=E2=97=8Ca // operator""a(1)<br class=3D""><br cl=
ass=3D""></span></code></div><br class=3D""></div></div></div></blockquote>=
<div><br class=3D""></div><div>In those terms, the underscore is the suffix=
 separator. <font face=3D"Courier" class=3D"">operator "" a</font> is an in=
valid identifier. Proposals for new builtin or standard-library suffixes ca=
n be designed to avoid such ambiguity.</div></div></body></html>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--Apple-Mail=_1C392B9A-0678-4CA8-AF47-584AE1D38A13--

.


Author: Douglas Boffey <douglas.boffey@gmail.com>
Date: Sat, 6 Dec 2014 17:36:33 +0000
Raw View
--001a11c2995e6da48305098fa2ba
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

What about a separator between the mantissa and the 'E' for an exponent
indicator?  Otherwise, what would 0x1e+3 be?  33 or 1000?

On Sat, Dec 6, 2014 at 6:56 AM, David Krauss <potswa@gmail.com> wrote:

>
> On 2014=E2=80=9312=E2=80=9305, at 10:29 PM, Douglas Boffey <douglas.boffe=
y@gmail.com>
> wrote:
>
> On Sunday, 30 November 2014 02:07:27 UTC, David Krauss wrote:
>>
>> We already have the single-quote =E2=80=9Cdigit separator.=E2=80=9D
>>
>
> I=E2=80=99m not sure that meets the criterion.  For example,
>
> 0x1a // 26
> 0x1'a //26
> 0x1=E2=97=8Ca // operator""a(1)
>
>
>
> In those terms, the underscore is the suffix separator. operator "" a is
> an invalid identifier. Proposals for new builtin or standard-library
> suffixes can be designed to avoid such ambiguity.
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

--001a11c2995e6da48305098fa2ba
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">What about a separator between the mantissa and the &#39;E=
&#39; for an exponent indicator?=C2=A0 Otherwise, what would 0x1e+3 be? =C2=
=A033 or 1000?</div><div class=3D"gmail_extra"><br><div class=3D"gmail_quot=
e">On Sat, Dec 6, 2014 at 6:56 AM, David Krauss <span dir=3D"ltr">&lt;<a hr=
ef=3D"mailto:potswa@gmail.com" target=3D"_blank">potswa@gmail.com</a>&gt;</=
span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8e=
x;border-left:1px #ccc solid;padding-left:1ex"><div style=3D"word-wrap:brea=
k-word"><br><div><blockquote type=3D"cite"><span class=3D""><div>On 2014=E2=
=80=9312=E2=80=9305, at 10:29 PM, Douglas Boffey &lt;<a href=3D"mailto:doug=
las.boffey@gmail.com" target=3D"_blank">douglas.boffey@gmail.com</a>&gt; wr=
ote:</div></span><div><div dir=3D"ltr"><span class=3D""><br>On Sunday, 30 N=
ovember 2014 02:07:27 UTC, David Krauss  wrote:</span><span class=3D""><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-le=
ft:1px #ccc solid;padding-left:1ex"><div style=3D"word-wrap:break-word">We =
already have the single-quote =E2=80=9Cdigit separator.=E2=80=9D</div></blo=
ckquote><div><br>I=E2=80=99m not sure that meets the criterion.=C2=A0 For e=
xample,<br><br><div style=3D"background-color:rgb(250,250,250);border-color=
:rgb(187,187,187);border-style:solid;border-width:1px;word-wrap:break-word"=
><code><span style=3D"color:#066">0x1a</span> <span style=3D"color:#800">//=
 26</span><br><span style=3D"color:#066">0x1</span><span style=3D"color:#08=
0">&#39;a //26<br>0x1=E2=97=8Ca // operator&quot;&quot;a(1)<br><br></span><=
/code></div><br></div></span></div></div></blockquote><div><br></div><div>I=
n those terms, the underscore is the suffix separator. <font face=3D"Courie=
r">operator &quot;&quot; a</font> is an invalid identifier. Proposals for n=
ew builtin or standard-library suffixes can be designed to avoid such ambig=
uity.</div></div></div><div class=3D"HOEnZb"><div class=3D"h5">

<p></p>

-- <br>
<br>
--- <br>
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_=
blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--001a11c2995e6da48305098fa2ba--

.


Author: David Krauss <potswa@gmail.com>
Date: Sun, 7 Dec 2014 11:08:04 +0800
Raw View
--Apple-Mail=_63E4764A-9CAE-4417-9040-F8DC05DB28D8
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8


> On 2014=E2=80=9312=E2=80=9307, at 1:36 AM, Douglas Boffey <douglas.boffey=
@gmail.com> wrote:
>=20
> What about a separator between the mantissa and the 'E' for an exponent i=
ndicator?  Otherwise, what would 0x1e+3 be?  33 or 1000?

What=E2=80=99s the motivation for allowing that? Or builtin, non-integer oc=
tal literals, or anything besides what we got with user-defined literals?

Hex floats have a strong motivation: to be able to represent exact values a=
s text. =E2=80=9CBecause some other languages do it=E2=80=9D is not a stron=
g motivation.

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

--Apple-Mail=_63E4764A-9CAE-4417-9040-F8DC05DB28D8
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=UTF-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dutf-8"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: s=
pace; -webkit-line-break: after-white-space;" class=3D""><br class=3D""><di=
v><blockquote type=3D"cite" class=3D""><div class=3D"">On 2014=E2=80=9312=
=E2=80=9307, at 1:36 AM, Douglas Boffey &lt;<a href=3D"mailto:douglas.boffe=
y@gmail.com" class=3D"">douglas.boffey@gmail.com</a>&gt; wrote:</div><br cl=
ass=3D"Apple-interchange-newline"><div class=3D""><div dir=3D"ltr" style=3D=
"font-family: Helvetica; font-size: 12px; font-style: normal; font-variant:=
 normal; font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: none; w=
hite-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-wi=
dth: 0px;" class=3D"">What about a separator between the mantissa and the '=
E' for an exponent indicator?&nbsp; Otherwise, what would 0x1e+3 be? &nbsp;=
33 or 1000?</div></div></blockquote></div><br class=3D""><div class=3D"">Wh=
at=E2=80=99s the motivation for allowing that? Or builtin, non-integer octa=
l literals, or anything besides what we got with user-defined literals?</di=
v><div class=3D""><br class=3D""></div><div class=3D"">Hex floats have a st=
rong motivation: to be able to represent exact values as text. =E2=80=9CBec=
ause some other languages do it=E2=80=9D is not a strong motivation.</div><=
/body></html>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--Apple-Mail=_63E4764A-9CAE-4417-9040-F8DC05DB28D8--

.


Author: "dgutson ." <danielgutson@gmail.com>
Date: Sun, 7 Dec 2014 11:34:16 -0300
Raw View
On Sat, Nov 29, 2014 at 1:30 PM, Douglas Boffey
<douglas.boffey@gmail.com> wrote:
> Firstly, we can have hex, decimal, octal and (as of C++14) binary literal=
s.
>
> A number of languages allow arbitrary bases between 2 and 36, with the ba=
se
> indicated with a decimal prefix.  Is there any reason C/C++ doesn=E2=80=
=99t
> implement something similar?
>
> Secondly, with the advent of suffices in C++11, there is a potential
> ambiguity between a hex digit (or a based digit) and the suffix.  It woul=
d
> be good if there was a mechanism to separate the suffix from the number i=
n
> such circumstances.  The question would be as to what symbol to use to
> separate the number and its suffix.
>
> Thirdly, what about extending the bases to floating point numbers.  I kno=
w
> the argument as to what base the exponent should be, but I suggest that t=
he
> base of the exponent should be indicated from the mantissa base.  Again, =
it
> should be possible to separate the =E2=80=98E=E2=80=99, indicating an exp=
onential, from the
> mantissa, similarly to the second point.  Octal mantissae would be indica=
ted
> by either =E2=80=9800=E2=80=99 before the decimal point, or =E2=80=980=E2=
=80=99 before an octal digit (as
> per integers).
>
> Fourthly, how about having a binary exponent, =E2=80=98B=E2=80=99, so tha=
t <mant>B+<exp>
> becomes <mant> =C3=97 pow(2, <exp>)?

a constexpr function receiving the components of a float as arguments,
which can be specified with any literal, wouldn't be enough?

Sketchy:
constexpr float make_float(int sign, int exponent, int mantissa); // or ali=
ke

so you could then pass the exponent and/or the mantissa in 0bXXXXX or
whatever literal format you want.

I find this approach more general and doesn't need to change anything.

>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.



--=20
Who=E2=80=99s got the sweetest disposition?
One guess, that=E2=80=99s who?
Who=E2=80=99d never, ever start an argument?
Who never shows a bit of temperament?
Who's never wrong but always right?
Who'd never dream of starting a fight?
Who get stuck with all the bad luck?

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

.


Author: Douglas Boffey <douglas.boffey@gmail.com>
Date: Sun, 7 Dec 2014 16:46:24 +0000
Raw View
True, it is more general, but is it more readable?  To me, such a
solution seems too ugly :(

On 12/7/14, dgutson . <danielgutson@gmail.com> wrote:
> On Sat, Nov 29, 2014 at 1:30 PM, Douglas Boffey
> <douglas.boffey@gmail.com> wrote:
>> Firstly, we can have hex, decimal, octal and (as of C++14) binary
>> literals.
>>
>> A number of languages allow arbitrary bases between 2 and 36, with the
>> base
>> indicated with a decimal prefix.  Is there any reason C/C++ doesn=E2=80=
=99t
>> implement something similar?
>>
>> Secondly, with the advent of suffices in C++11, there is a potential
>> ambiguity between a hex digit (or a based digit) and the suffix.  It
>> would
>> be good if there was a mechanism to separate the suffix from the number
>> in
>> such circumstances.  The question would be as to what symbol to use to
>> separate the number and its suffix.
>>
>> Thirdly, what about extending the bases to floating point numbers.  I
>> know
>> the argument as to what base the exponent should be, but I suggest that
>> the
>> base of the exponent should be indicated from the mantissa base.  Again,
>> it
>> should be possible to separate the =E2=80=98E=E2=80=99, indicating an ex=
ponential, from
>> the
>> mantissa, similarly to the second point.  Octal mantissae would be
>> indicated
>> by either =E2=80=9800=E2=80=99 before the decimal point, or =E2=80=980=
=E2=80=99 before an octal digit (as
>> per integers).
>>
>> Fourthly, how about having a binary exponent, =E2=80=98B=E2=80=99, so th=
at <mant>B+<exp>
>> becomes <mant> =C3=97 pow(2, <exp>)?
>
> a constexpr function receiving the components of a float as arguments,
> which can be specified with any literal, wouldn't be enough?
>
> Sketchy:
> constexpr float make_float(int sign, int exponent, int mantissa); // or
> alike
>
> so you could then pass the exponent and/or the mantissa in 0bXXXXX or
> whatever literal format you want.
>
> I find this approach more general and doesn't need to change anything.
>
>>
>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Group=
s
>> "ISO C++ Standard - Future Proposals" group.
>> To unsubscribe from this group and stop receiving emails from it, send a=
n
>> email to std-proposals+unsubscribe@isocpp.org.
>> To post to this group, send email to std-proposals@isocpp.org.
>> Visit this group at
>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>
>
>
> --
> Who=E2=80=99s got the sweetest disposition?
> One guess, that=E2=80=99s who?
> Who=E2=80=99d never, ever start an argument?
> Who never shows a bit of temperament?
> Who's never wrong but always right?
> Who'd never dream of starting a fight?
> Who get stuck with all the bad luck?
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

.


Author: Richard Smith <richard@metafoo.co.uk>
Date: Mon, 8 Dec 2014 10:46:09 -0800
Raw View
--001a1135fea80b06730509b8d733
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Sat, Dec 6, 2014 at 9:36 AM, Douglas Boffey <douglas.boffey@gmail.com>
wrote:

> What about a separator between the mantissa and the 'E' for an exponent
> indicator?  Otherwise, what would 0x1e+3 be?  33 or 1000?
>

0x1e+3 is a single preprocessing token, not 3, so 33 is a very unlikely
result.

On Sat, Dec 6, 2014 at 6:56 AM, David Krauss <potswa@gmail.com> wrote:
>
>>
>> On 2014=E2=80=9312=E2=80=9305, at 10:29 PM, Douglas Boffey <douglas.boff=
ey@gmail.com>
>> wrote:
>>
>> On Sunday, 30 November 2014 02:07:27 UTC, David Krauss wrote:
>>>
>>> We already have the single-quote =E2=80=9Cdigit separator.=E2=80=9D
>>>
>>
>> I=E2=80=99m not sure that meets the criterion.  For example,
>>
>> 0x1a // 26
>> 0x1'a //26
>> 0x1=E2=97=8Ca // operator""a(1)
>>
>>
>>
>> In those terms, the underscore is the suffix separator. operator "" a is
>> an invalid identifier. Proposals for new builtin or standard-library
>> suffixes can be designed to avoid such ambiguity.
>>
>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Group=
s
>> "ISO C++ Standard - Future Proposals" group.
>> To unsubscribe from this group and stop receiving emails from it, send a=
n
>> email to std-proposals+unsubscribe@isocpp.org.
>> To post to this group, send email to std-proposals@isocpp.org.
>> Visit this group at
>> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>>
>
>  --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

--001a1135fea80b06730509b8d733
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On S=
at, Dec 6, 2014 at 9:36 AM, Douglas Boffey <span dir=3D"ltr">&lt;<a href=3D=
"mailto:douglas.boffey@gmail.com" target=3D"_blank">douglas.boffey@gmail.co=
m</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">=
What about a separator between the mantissa and the &#39;E&#39; for an expo=
nent indicator?=C2=A0 Otherwise, what would 0x1e+3 be? =C2=A033 or 1000?</d=
iv></blockquote><div><br></div><div>0x1e+3 is a single preprocessing token,=
 not 3, so 33 is a very unlikely result.</div><div><br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex"><div class=3D"HOEnZb"><div class=3D"h5"><div class=3D"gmai=
l_extra"><div class=3D"gmail_quote">On Sat, Dec 6, 2014 at 6:56 AM, David K=
rauss <span dir=3D"ltr">&lt;<a href=3D"mailto:potswa@gmail.com" target=3D"_=
blank">potswa@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail=
_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:=
1ex"><div style=3D"word-wrap:break-word"><br><div><blockquote type=3D"cite"=
><span><div>On 2014=E2=80=9312=E2=80=9305, at 10:29 PM, Douglas Boffey &lt;=
<a href=3D"mailto:douglas.boffey@gmail.com" target=3D"_blank">douglas.boffe=
y@gmail.com</a>&gt; wrote:</div></span><div><div dir=3D"ltr"><span><br>On S=
unday, 30 November 2014 02:07:27 UTC, David Krauss  wrote:</span><span><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-le=
ft:1px #ccc solid;padding-left:1ex"><div style=3D"word-wrap:break-word">We =
already have the single-quote =E2=80=9Cdigit separator.=E2=80=9D</div></blo=
ckquote><div><br>I=E2=80=99m not sure that meets the criterion.=C2=A0 For e=
xample,<br><br><div style=3D"background-color:rgb(250,250,250);border-color=
:rgb(187,187,187);border-style:solid;border-width:1px;word-wrap:break-word"=
><code><span style=3D"color:#066">0x1a</span> <span style=3D"color:#800">//=
 26</span><br><span style=3D"color:#066">0x1</span><span style=3D"color:#08=
0">&#39;a //26<br>0x1=E2=97=8Ca // operator&quot;&quot;a(1)<br><br></span><=
/code></div><br></div></span></div></div></blockquote><div><br></div><div>I=
n those terms, the underscore is the suffix separator. <font face=3D"Courie=
r">operator &quot;&quot; a</font> is an invalid identifier. Proposals for n=
ew builtin or standard-library suffixes can be designed to avoid such ambig=
uity.</div></div></div><div><div>

<p></p>

-- <br>
<br>
--- <br>
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_=
blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>

<p></p>

-- <br>
<br>
--- <br>
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_=
blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--001a1135fea80b06730509b8d733--

.


Author: Richard Smith <richard@metafoo.co.uk>
Date: Mon, 8 Dec 2014 10:52:45 -0800
Raw View
--089e0160b76e9cceb40509b8ee1b
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Fri, Dec 5, 2014 at 8:22 AM, Matthew Woehlke <
mw_triad@users.sourceforge.net> wrote:

> On 2014-12-05 09:34, Douglas Boffey wrote:
> > On Monday, 1 December 2014 16:44:38 UTC, Matthew Woehlke wrote:
> >> On 2014-11-29 11:30, Douglas Boffey wrote:
> >>> Thirdly, what about extending the bases to floating point numbers.
> >>> I know the argument as to what base the exponent should be,
> >>
> >> Not really; there is already a convention (at least for hex) that 'p' =
is
> >> used as the exponent. For example, 0x1ep-1 =3D=3D 1.875.
> >
> > It looks like I=E2=80=99ve not expressed myself clearly.  What I was re=
ferring to
> > was the base the exponent digits were written in:
> >
> > 0x1a=E2=97=8Ce+12 // Should this be equivalent to 26e+12 or 26e+18?  I=
=E2=80=99d say the
> > former, and if the latter were needed, the exponent should be 0x12
> >
> >  where =E2=97=8C represents an as yet undecided separator (see reply to=
 David
> > Krauss)
>
> ...for hexadecimal, it isn't undecided. One writes:
>
> 0x1ap+12 (i.e. 26e+12)
>

In C, this is 26 * 2^12, not 26 * 10^12.

I believe the standard is that the exponent is in decimal regardless of
> the base of the mantissa. Besides, I agree that another way to look at
> it is that the exponent is just "an integer", with the usual parsing
> rules, i.e.:
>
>   // okay; 26e+12
>   auto a =3D 0x1ap+12;
>
>   // also okay; also 26e+12
>   auto b =3D 0x1ap+0xc
>
>   // ditto
>   0x1ap0014


In C, this 0014 is interpreted as decimal, not as octal, just like 0014. is
interpreted as decimal not as octal.

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

--089e0160b76e9cceb40509b8ee1b
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On F=
ri, Dec 5, 2014 at 8:22 AM, Matthew Woehlke <span dir=3D"ltr">&lt;<a href=
=3D"mailto:mw_triad@users.sourceforge.net" target=3D"_blank">mw_triad@users=
..sourceforge.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><s=
pan class=3D"">On 2014-12-05 09:34, Douglas Boffey wrote:<br>
&gt; On Monday, 1 December 2014 16:44:38 UTC, Matthew Woehlke wrote:<br>
&gt;&gt; On 2014-11-29 11:30, Douglas Boffey wrote:<br>
&gt;&gt;&gt; Thirdly, what about extending the bases to floating point numb=
ers.<br>
</span><span class=3D"">&gt;&gt;&gt; I know the argument as to what base th=
e exponent should be,<br>
&gt;&gt;<br>
&gt;&gt; Not really; there is already a convention (at least for hex) that =
&#39;p&#39; is<br>
&gt;&gt; used as the exponent. For example, 0x1ep-1 =3D=3D 1.875.<br>
&gt;<br>
&gt; It looks like I=E2=80=99ve not expressed myself clearly.=C2=A0 What I =
was referring to<br>
&gt; was the base the exponent digits were written in:<br>
&gt;<br>
&gt; 0x1a=E2=97=8Ce+12 // Should this be equivalent to 26e+12 or 26e+18?=C2=
=A0 I=E2=80=99d say the<br>
&gt; former, and if the latter were needed, the exponent should be 0x12<br>
&gt;<br>
&gt;=C2=A0 where =E2=97=8C represents an as yet undecided separator (see re=
ply to David<br>
&gt; Krauss)<br>
<br>
</span>...for hexadecimal, it isn&#39;t undecided. One writes:<br>
<br>
0x1ap+12 (i.e. 26e+12)<br></blockquote><div><br></div><div>In C, this is 26=
 * 2^12, not 26 * 10^12.</div><div><br></div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"=
>
I believe the standard is that the exponent is in decimal regardless of<br>
the base of the mantissa. Besides, I agree that another way to look at<br>
it is that the exponent is just &quot;an integer&quot;, with the usual pars=
ing<br>
rules, i.e.:<br>
<br>
=C2=A0 // okay; 26e+12<br>
=C2=A0 auto a =3D 0x1ap+12;<br>
<br>
=C2=A0 // also okay; also 26e+12<br>
=C2=A0 auto b =3D 0x1ap+0xc<br>
<br>
=C2=A0 // ditto<br>
=C2=A0 0x1ap0014</blockquote><div><br></div><div>In C, this 0014 is interpr=
eted as decimal, not as octal, just like 0014. is interpreted as decimal no=
t as octal.</div></div></div></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--089e0160b76e9cceb40509b8ee1b--

.