本文介绍了Micrap的Billy Gates谎言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以将这种MS谎言翻译成

普通的逻辑英语语言。

我需要一个long double数据类型能够保持比正常双更大的数字
类型可以保持。

MS''糟糕的编译器VC6是否实现了这种数据类型?

您从MS''''文档中引用的内容有何了解? '',

和/或你对此的实际经验?


"类型长双

长双包含80位:1表示符号,15表示指数,

和64尾数。它的范围是+/- 1.2E4932,精度至少为19位。

虽然long double和double是单独的类型,

long double和double的表示相同。"


" double

类型double是浮动类型,大于或等于float类型,

但是短于或等于long double类型的大小[ - > 1]


long double [ - > 1]

类型long double是一个等于double类型的浮动类型。


[1] long double和double的表示是相同的。

然而,long double和double是单独的类型。


表3.2基本类型的大小

...

浮动4字节

双8字节

长双8字节

解决方案



为什么你需要大于
的数字

1.798e + 308?


你在测量什么?


-

免费游戏和编程好东西。




.... snip ...



.... snip ...



显然MS VC6打算在CHAR_BIT ==

80的机器上运行。问题是什么? :-)


后续跟进clc ++的交叉帖子。


-

[邮件]:Chuck F(cinefalconer at maineline dot net)

[page]:< http://cbfalconer.home.att.net>

试试下载部分。



Can someone please translate this MS lie language into
ordinary logical English language.
I need a "long double" data type that is capable to hold
bigger numbers than the normal "double" type can hold.
Has MS'' crappy compiler VC6 implemented this data type or not?
What is your understanding from the citations below from the MS'' ''documentation'',
and/or your own practical experience regarding this?

"Type long double
The long double contains 80 bits: 1 for sign, 15 for exponent,
and 64 for mantissa. Its range is +/-1.2E4932 with at least 19 digits of precision.
Although long double and double are separate types,
the representation of long double and double is identical."

"double
Type double is a floating type that is larger than or equal to type float,
but shorter than or equal to the size of type long double [-->1]

long double [-->1]
Type long double is a floating type that is equal to type double.

[1] The representation of long double and double is identical.
However, long double and double are separate types."

"Table 3.2 Sizes of Fundamental Types
...
float 4 bytes
double 8 bytes
long double 8 bytes"

解决方案

Why do you need numbers larger than

1.798e+308 ?

What are you measuring?

--
Free games and programming goodies.
http://www.personal.leeds.ac.uk/~bgy1mm


.... snip ...

.... snip ...

Obviously MS VC6 is intended to run on machines with CHAR_BIT ==
80. What''s the problem? :-)

Cross-post to c.l.c++ suppressed on follow-ups.

--
[mail]: Chuck F (cbfalconer at maineline dot net)
[page]: <http://cbfalconer.home.att.net>
Try the download section.


Microsoft chose the option (permitted by standard) to make double the same
as long double. Other compilers which rely on Microsoft library support
(Intel ICL /Qlongdouble, or mingw gcc) implement the larger range long
double to a limited extent, but don''t have library support for long
double. cygwin gcc is in an intermediate position, as newlib has partial
support for long double. So these versions of wider long double fall
short of standard compliance.
You might argue that a reason for the standard permitting long double to
be implemented as double is inadequate hardware support for wider data
types on some platforms. Compilers for Intel and AMD platforms
increasingly make SSE code their primary supported mode, due in large part
to the potential performance advantage.


这篇关于Micrap的Billy Gates谎言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-01 09:27