https://de.wikipedia.org/w/api.php?action=feedcontributions&feedformat=atom&user=Copyeditor42Wikipedia - Benutzerbeiträge [de]2025-06-02T05:53:44ZBenutzerbeiträgeMediaWiki 1.45.0-wmf.3https://de.wikipedia.org/w/index.php?title=Vorzeichenbehaftete_Null&diff=119949301Vorzeichenbehaftete Null2008-10-14T00:58:19Z<p>Copyeditor42: IEEE 754 names the fraction "significand"</p>
<hr />
<div>'''−0''' is the representation of '''negative zero''' or '''minus zero''', a number that, in [[computing]], exists in some [[signed number representation]]s for integers, and in most [[floating point number]] representations. In [[mathematics|mathematical]] terms there is no concept of a negative (or positive) zero, and '''−0''' is equal to, and represented as, '''[[0 (number)|zero]]'''.<br />
<br />
In common usage, −0 may be used to denote a negative number [[rounding|rounded]] to zero, or a number [[Limit (mathematics)|approaching]] zero from the negative direction. In [[statistical mechanics]], certain systems in a state of [[population inversion]] may be considered to have an [[absolute temperature]] of −0, the hottest possible absolute temperature (see [[negative temperature]]).<br />
<br />
== Representations ==<br />
[[Image:IEEE 754 Single Negative Zero.svg|thumb|right|400px|Negative zero by IEEE 754 representation in 32 bit]]<br />
In a 1+7-bit sign-and-magnitude representation for integers, negative zero is represented by the binary value 10000000. In an 8-bit [[one's complement]] representation, negative zero is represented by the binary value 11111111. In [[IEEE floating-point standard|IEEE 754]] floating point numbers, negative zero is represented by the exponent and [[significand]] being zero and the sign bit being one.<br />
<br />
In [[IBM]]'s General Decimal Arithmetic encoding specification, a floating point representation that uses [[decimal]] arithmetic, negative zero is represented by an exponent being any valid exponent in the range for the encoding, the coefficient being (densely packed encoded) all zeros, and the sign bit being one.<br />
<br />
Negative zero cannot be distinguished from positive zero with conventional [[two's complement]] encoding, which is the most common representation of signed binary integers. <!-- however, the most neg number (0x80000000 in 32 bits) could be used for -0, leaving a nicely balanced range of non-zeros; but maybe that's too esoteric for this article --><br />
<br />
== Properties and handling ==<br />
In [[programming language]]s such as [[C (programming language)|C]], [[C Sharp (programming language)|C#]], [[C++]], [[Java (programming language)|Java]], and [[Javascript (programming language)|Javascript]], whilst it is possible to obtain negative zero as the result of an expression (for instance as the result of [[arithmetic underflow]] on a negative number), negative zero and positive zero compare equal under default (numerical) comparison. Thus a simple comparison is not sufficient to test whether a number is negative zero.<br />
<br />
Ways of testing include<br />
*using the <code>copysign()</code> function, which is defined by [[IEEE 754]] and [[C (programming language)|C]] to copy the sign of the zero, to some non-zero number,<br />
*dividing the number into a positive number&mdash;the resulting Infinity will reflect the sign of the zero.<br />
** <math>\frac{k}{+0} = +\infty</math> (for positive k)<br />
** <math>\frac{k}{-0} = -\infty</math> (for positive k)<br />
For example, in Javascript:<br />
<source lang="javascript"><br />
function isNegativeZero(x) { return x === 0 && 1/x < 0; }<br />
isNegativeZero(-0.0); // Result: true<br />
isNegativeZero( 0.0); // Result: false<br />
</source><br />
Note that in other languages, this may require disabling any [[trap (computing)|trap]] that might occur on division by zero.<br />
*in Java, using the <tt>equals</tt> method in the <code>Double</code> class, which treats negative zero as distinct from positive zero; for example:<br />
<source lang="java"><br />
Double negativeZero = new Double(-0.0);<br />
negativeZero.equals(-0.0); // Result: true<br />
negativeZero.equals( 0.0); // Result: false<br />
</source><br />
*in C, using a non-portable technique that relies on the local hardware representation, e.g., <code>*(int *)&var == 0x80000000</code> (where <tt>var</tt> is encoded in IEEE 754 single precision).<br />
<br />
<!-- Surely compare is numeric ....<br />
or: <br />
<code>double negativeZero = -0.0;<br /><br />
Double.compare( negativeZero, -0.0 ) == 0; // Result: true</code><br />
Conversely, Java coders should be aware that any comparisons to zero using compare or equals methods rather than the <code>==</code> operator may have unexpected results if a negative zero is present.<br />
--><br />
<br />
Other operations involving negative zero:<br />
* <math>\frac{-0}{x} = -0\,\!</math> (for positive x)<br />
* <math>\frac{-0}{x} = +0\,\!</math> (for negative x)<br />
* <math>\frac{+0}{x} = -0\,\!</math> (for negative x)<br />
* <math>\frac{-0}{+\infty} = -0\,\!</math> <br />
* <math>\frac{-0}{-\infty} = +0\,\!</math> <br />
* <math>\frac{+0}{-\infty} = -0\,\!</math> <br />
* <math>(-0) \cdot (-0) = +0\,\!</math><br />
* <math>(-0) - (+0) = -0\,\!</math><br />
* <math>(-0) - (-0) = +0\,\!</math> (&minus;0 in rounding toward negative)<br />
* <math>(+0) + (-0) = +0\,\!</math> (&minus;0 in rounding toward negative)<br />
* <math>(-0) + (-0) = -0\,\!</math><br />
* <math>\left| x \right| \cdot (-0) = -0\,\!</math><br />
* <math>x + (-0) = x\,\!</math> (for x different from 0)<br />
<br />
Use of an integer representation that contains negative zero can be a source of errors in programs when software developers do not realize that, while the two zero representations compare equal, they are treated differently by some operations.<br />
<br />
Use of a floating-point representation that contains negative zero may be necessary to achieve numerical accuracy in some critical problems.<ref>[[William Kahan]]. "Branch Cuts for Complex Elementary Functions, or Much Ado About Nothing's Sign Bit", in ''The State of the Art in Numerical Analysis'' (eds. Iserles and Powell), Clarendon Press, Oxford, 1987.</ref><br />
<br />
==Scientific uses==<br />
In [[meteorology]], −0 can be used to indicate a temperature which is below zero, especially for the [[Celsius]] scale where below zero indicates freezing. It is often important for statistical reasons, when it is not low enough to be rounded to &minus;1. An example of such a temperature is −0.2 degrees; this cannot be listed as zero degrees, because temperatures of zero degrees are obviously not considered ''below'' zero. However, a tally of below-zero days is often a rudimentary statistic in comparing the coldness of winter seasons, so it cannot be ignored. It is not low enough to be rounded to &minus;1, so it is recorded as −0.<br />
<br />
In some contexts related to statistical mechanics, it is possible for systems to have a [[negative absolute temperature]], but counterintuitively, these are not extremely cold, but rather extremely ''hot'', hotter than any positive temperature. In this context, −0 is the hottest temperature there is.<br />
<br />
==Notes==<br />
<references/><br />
<br />
== References ==<br />
* {{cite web|url=http://msdn.microsoft.com/library/en-us/csspec/html/vclrfcsharpspec_4_1_6.asp|title=Floating point types|work=[[Microsoft Developer Network|MSDN]] C# Language Specification|accessmonthday=October 15|accessyear=2005}}<br />
* {{cite web|url=http://msdn.microsoft.com/library/en-us/csspec/html/vclrfcsharpspec_7_7_2.asp|title=Division operator|work=[[Microsoft Developer Network|MSDN]] C# Language Specification|accessmonthday=October 15|accessyear=2005}}<br />
* {{cite paper|url=http://www.concentric.net/~Ttwang/tech/javafloat.htm|title=Java Floating-Point Number Intricacies|author=Thomas Wang|month=March|year=2000|version=September 2000}}<br />
* {{cite web|url=http://speleotrove.com/decimal/decarith.html|title=Decimal Arithmetic Specification, version 1.68|author=Mike Colishaw|date=[[28th July]] [[2008]]|accessdate=2008-08-14}} &mdash; a ''decimal'' floating point specification that includes negative zero<br />
*{{cite book|first=Charles|last=Kittel|coauthors=and Herbert Kroemer|title=Thermal Physics|publisher=W. H. Freeman & Company|year=1980|id=ISBN 0716710889}}<br />
<br />
== Further reading ==<br />
* {{cite web|url=http://developers.sun.com/prodtech/cc/articles/sign.html|title=Fortran 95 SIGN Change|author=Michael Ingrassia|work=Sun Developer Network|accessdate=October 15|accessyear=2005}} &mdash; the changes in the [[Fortran]] <code>SIGN</code> function in Fortran 95 to accommodate negative zero<br />
* {{cite web|url=http://msdn.microsoft.com/library/en-us/script56/html/js56jscondatatype.asp|title=JScript data types|work=[[Microsoft Developer Network|MSDN]] JScript|accessdate=October 16|accessyear=2005}} &mdash; JScript's floating point type has negative zero by definition<br />
* {{cite web|url=http://www.javaworld.com/javaworld/jw-10-1996/jw-10-hood.html|title=A look at the floating-point support of the Java virtual machine|work=Javaworld|accessdate=October 16|accessyear=2005}} &mdash; representation of negative zero in the [[Java virtual machine]]<br />
* {{cite paper|url=http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm|title=Comparing floating point numbers|author=Bruce Dawson|date=}} &mdash; how to handle negative zero when comparing floating-point numbers<br />
* {{cite web|url=http://www.fourmilab.ch/documents/univac/minuszero.html|title=Minus Zero|author=[[John Walker (programmer)|John Walker]]|work=UNIVAC Memories|accessdate=October 17|accessyear=2005}} &mdash; One's complement numbers on the [[UNIVAC]] 1100 family computers.<br />
<br />
[[Category:Computer arithmetic]]<br />
[[Category:Integers|0-9]]<br />
[[Category:Zero|Negative zero]]<br />
<br />
[[be-x-old:−0 (лік)]]<br />
[[ko:−0]]<br />
[[lt:-0]]<br />
[[ja:-0]]<br />
[[pl:-0]]<br />
[[ru:Отрицательный и положительный ноль]]<br />
[[fi:−0]]<br />
[[th:−0]]<br />
[[vi:-0]]<br />
[[uk:Від'ємний і додатний нуль]]<br />
[[zh:-0]]</div>Copyeditor42https://de.wikipedia.org/w/index.php?title=Liste_der_Farbr%C3%A4ume&diff=59505416Liste der Farbräume2008-08-25T00:19:16Z<p>Copyeditor42: fix incorrect plural</p>
<hr />
<div>{{Mergeto|color space|date=September 2007}}<br />
This is a '''list of color spaces and their uses''' from the [[color space]] article. A color space consists of a [[color model]] along with a specific mapping of that model onto an [[absolute color space]]. There are a large number of color spaces in use in the world today.<br />
<br />
==Models==<br />
There are 5 major models, that sub-divide into others, they are: CIE, RGB, YUV, HSL/HSV, and CMYK.<br />
[[Image:AdditiveColor.svg|thumbnail|200px|Additive color mixing]]<br />
[[Image:SubtractiveColor.svg|thumbnail|200px|Subtractive color mixing]]<br />
<br />
==CIE==<br />
===CIE 1931 XYZ===<br />
{{main|CIE 1931 color space}}<br />
(aka "CIE 1931")<br />
The first attempt to produce a color space based on measurements of human color perception and it is the basis for almost all other color spaces.<br />
<br />
===CIELUV===<br />
{{main|CIELUV color space}}<br />
A modification of "CIE 1931 XYZ" to display color differences more conveniently. The CIELUV space is especially useful for additive mixtures of lights, due to its linear addition properties <ref name=Ullmann>Keith McLaren; "Dyes, General Survey" in: "Ullmann's Encyclopedia of Industrial Chemistry; Wiley-VCH; 15 June 2000</ref>.<br />
<br />
===CIELAB===<br />
{{main|Lab color space}}<br />
The intention of CIELAB (or L*a*b* or Lab) is to produce a color space that is more perceptually linear than other color spaces. Perceptually linear means that a change of the same amount in a color value should produce a change of about the same visual importance. CIELAB has almost entirely replaced an alternative related Lab color space "Hunter Lab".<br />
This space is commonly used for surface colours, but not for mixtures of (transmitted) light <ref name="Ullmann"/>.<br />
<br />
===CIEUVW===<br />
{{main|CIE 1964 color space}}<br />
Measurements over a larger field of view than the "CIE 1931 XYZ" color space which produces slightly different results.<br />
<br />
==RGB==<br />
===RGB===<br />
{{main|RGB color model|RGB color spaces}}<br />
RGB (Red, Green, Blue) describes what kind of ''light'' needs to be ''emitted'' to produce a given color. Light is added together to create form from out of the darkness. RGB stores individual values for red, green and blue. RGB is not a color space, it is a color model. There are many different RGB color spaces derived from this color model, some of which appear below.<br />
<br />
[[RGBA color space|RGBA]] is RGB with an additional channel, alpha, to indicate transparency.<br />
<br />
===sRGB===<br />
{{main|sRGB color space}}<br />
The '''sRGB color space''', or '''standard RGB''' (Red Green Blue), is an [[RGB color space]] created cooperatively by [[Hewlett-Packard]] and [[Microsoft Corporation]] for use on the [[Internet]]. It has been endorsed by the [[W3C]], [[Exif]], [[Intel]], [[Pantone]], [[Corel]], and many other industry players. It is also well accepted by [[Open-source software|Open Source software]] such as the [[GIMP]], and is used in proprietary and open [[graphics file format]]s such as [[Scalable Vector Graphics|SVG]].<br />
<br />
sRGB is intended as a common color space for the creation of images for viewing on the [[Internet]] and [[World Wide Web]] (WWW), the resultant color space chosen using a [[Gamma correction|gamma]] of '''2.2''', the average response to linear voltage levels of CRT displays at that time. <br />
<br />
===Adobe RGB===<br />
{{main|Adobe RGB color space}}<br />
The '''Adobe RGB color space''' is an [[RGB color space]] developed by [[Adobe Systems]] in [[1998]]. It was designed to encompass most of the colors achievable on [[CMYK]] color [[printing|printers]], but by using [[RGB color model|RGB]] primary colors on a device such as the [[computer display]]. The Adobe RGB [[color space]] encompasses roughly 50% of the visible colors specified by the [[Lab color space]], improving upon the [[gamut]] of the [[sRGB color space]] primarily in cyan-greens.<br />
<br />
===Adobe Wide Gamut RGB===<br />
{{main|Adobe Wide Gamut RGB color space}}<br />
The '''Adobe Wide Gamut RGB color space''' is an [[RGB color space]] developed by [[Adobe Systems]] as an alternative to the standard [[sRGB color space]]. It is able to store a wider range of color values than sRGB. The Wide Gamut color space is an expanded version of the [[Adobe RGB color space]], developed in [[1998]]. As a comparison, the Adobe Wide Gamut RGB color space encompasses 77.6% of the visible colors specified by the [[Lab color space]], whilst the standard Adobe RGB color space covers just 50.6%.<br />
<br />
One of the downsides to this color space is that approximately 8% of the colors representable are [[imaginary colors]] that do not exist and are not representable in any medium [http://www.brucelindbloom.com/index.html?WorkingSpaceInfo.html]. This means that potential color accuracy is wasted for reserving these unnecessary colors.<br />
<br />
===Other RGB spaces===<br />
Other RGB spaces are possible by selection of other end points of the covered spectrum.<br />
<br />
==Luminance plus chrominance==<br />
===YIQ, YUV, YDbDr ===<br />
{{main|YIQ|YUV|YDbDr}}<br />
YIQ was formerly used in [[NTSC]] (North America, Japan and elsewhere) television broadcasts for historical reasons. This system stores a luminance value with two chrominance values, corresponding approximately to the amounts of blue and red in the color. It corresponds closely to the [[YUV]] scheme used in [[PAL]] (Australia, Europe, except France, which uses [[SECAM]]) television except that the YIQ color space is rotated 33° with respect to the YUV color space. The [[YDbDr]] scheme used by [[SECAM]] television is rotated in another way. (''work needed'')<br />
<br />
===YPbPr, YCbCr ===<br />
{{main|YPbPr|YCbCr}}<br />
YPbPr is a scaled version of YUV. It is most commonly seen in its digital form, [[YCbCr]], used widely in [[Video compression|video]] and [[Image compression|image]] compression schemes such as [[MPEG]] and [[JPEG]].<br />
<br />
===xvYCC===<br />
{{main|xvYCC}}<br />
xvYCC is a new international digital video color space standard based on the ITU BT.601 and [[Rec. 709|BT.709]] standards but with the color gamut extended beyond the R/G/B primaries specified in those standards.<br />
<br />
==Hue and saturation==<br />
===HSV===<br />
{{main|HSV color space}}<br />
('''h'''ue, '''s'''aturation, '''v'''alue), also known as HSB (hue, saturation, '''b'''rightness) is often used by artists because it is often more natural to think about a color in terms of hue and saturation than in terms of additive or subtractive color components. HSV is a transformation of an RGB colorspace, and its components and colorimetry are relative to the RGB colorspace from which it was derived.<br />
<br />
===HSL===<br />
{{main|HSL color space}}<br />
('''h'''ue, '''s'''aturation, '''l'''ightness/'''l'''uminance), also known as HLS, HSI (hue, saturation, '''i'''ntensity) or TSD (hue, saturation, '''d'''arkness) is quite similar to [[HSV color space|HSV]], with "lightness" replacing "brightness". The difference is that the ''brightness'' of a pure color is equal to the brightness of white, while the ''lightness'' of a pure color is equal to the lightness of a medium gray.<br />
<br />
==CMYK== <br />
===CMYK===<br />
{{main|CMYK color space}}<br />
CMYK is used in the printing process, because it describes what kind of [[inks]] need to be applied so the light reflected from the substrate and through the inks produces a given color. One starts with a white substrate (canvas, page, etc), and uses ink to subtract color from white to create an image. [[CMYK]] stores ink values for cyan, magenta, yellow and black. There are many CMYK colorspaces for different sets of inks, substrates, and press characteristics (which change the dot gain or transfer function for each ink and thus change the appearance).<br />
<br />
== Commercial color spaces ==<br />
<br />
* [[Munsell color system]]<br />
* [[Natural Color System|Natural Color System (NCS)]]<br />
* [[Pantone|Pantone Matching System (PMS)]]<br />
* [[RAL (color space system)|RAL]]<br />
<br />
== Special-purpose color spaces ==<br />
<br />
* The [[RG Chromaticity]] space is used in [[Computer vision]] applications, and shows the color of light (red, yellow, green etc.), but not its intensity (dark, bright).<br />
<br />
* [[LMS color space]] ('''l'''ong, '''m'''edium, '''s'''hort), a perceptual color space based on the response functions of the cones in the retina of the eye. It is mostly used in psychometric research.<br />
<br />
== Obsolete color spaces ==<br />
<br />
Early color spaces had two components. They largely ignored blue light because the added complexity of a 3-component process provided only a marginal increase in fidelity when compared to the jump from monochrome to 2-component color.<br />
<br />
* [[RG color space|RG]] for early [[Technicolor]] film<br />
* [[RGK color space|RGK]] for early color printing<br />
<br />
==References==<br />
{{reflist}}<br />
<br />
{{Color space}}<br />
<br />
[[Category:Color| ]]<br />
[[Category:Color space| ]]</div>Copyeditor42