跳至內容

−零

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

− 零抑是負零代表顛倒反數,等於零。特定情形下,− 零可能有特殊的意義。 佇電腦科學當中,− 零主要用來表達浮點數,佮佇咧某一寡時陣對整數進行有符號數處理。

佇普通應用中,− 零有可能被用來表示一个會當四捨五入做零的負數,或者是一个對負方向上趨佇零的數量傷過去。

佇統計力學中,特定的系統咧反轉分布的狀態之下,會當予人認為擁有 − 零的絕對溫度。

電腦科學

表示法

佇咧對整數的一个 + 七位元的符號數值表示法中,負空是用二進位代碼一千石表示的。佇八位元一補數當中,負空是用二進位代碼一千一百一十一刣一千一百十一表示,毋過二補數表示法則無負零的概念。佇咧 IEEE 七百五十四二進位浮點數算術標準中,指數佮尾數共零、符號做一的數就是負零。

佇咧 IBM 的普通十進位算數編碼規範當中,運用十進位來表示浮點數。遮負零被表示為指數為編碼內任意合法數值、所有的數字攏替零、符號位元為一的數。

性質佮處理

佇咧程式語言,比如講 C、C #、C + + 和 Java,一个表達式的結果可能是負零(譬如講對一个負數算欲滿的時陣的結果), 現此時負零佮正零是等效的。所以一个簡單的比較袂當確定一个數是負零。確定一个數是負零的辦法包括:

一 . 使用 IEEE 七仔五十四以中定義的 ` copysign ( ) ` 函式複製零的符號到任意非零的數字。 二 . 用一个正數來除以這个零—— 得著的無窮會當反映出零的符號

  • $ { \ frac { x } { + 零 } }=+ \ infty $ ( x > 零 )
  • $ { \ frac { x } { 板零 } }=-\ infty $ ( x > 零 )

三 . 佇咧 Java 中,用 ` Double ` 類中的 equals 方法,會當分辨出正零佮負零,比如講:

  • Double negativeZero=new Double ( 鋪零交易 ) ;

negativeZero . equals ( 鋪零交易 ) ; / / 結果:真 negativeZero . equals ( 空吱吱 ) ; / / 結果:假四 . 佇咧 C 語言內底,使用一个依賴佇咧本地硬體表示法的無方便的辦法。例:` * ( int * ) & var==零 x 八千刀 `(var 佇咧 IEEE 七百五十四中編碼單精度)。

其他對負零的運算有:

  • $ { \ frac { 板零 } { x } }=板零 $ ( x > 零 )
  • $ { \ frac { 板零 } { x } }=+ 零 $ ( x < 零 )
  • $ { \ frac { + 零 } { x } }=板零 $ ( x < 零 )
  • $ { \ frac { 板零 } { + \ infty } }=板零 $
  • $ { \ frac { 板零 } {-\ infty } }=+ 零 $
  • $ { \ frac { + 零 } {-\ infty } }=板零 $
  • $ ( 板零 ) \ cdot ( 板零 )=+ 零 $
  • $ ( 板零 )-( + 零 )=板零 $
  • $ ( 板零 )-( 板零 )=零 $
  • $ ( + 零 ) + ( 板零 )=零 $
  • $ ( 板零 ) + ( 板零 )=板零 $
  • $ x \ cdot ( 板零 )=板零 $ ( x > 零 )
  • $ x + ( 板零 )=x $

自然科學

佇氣象學中,就是處理統計學的原因,− 零定定用來表示一个較低零度煞閣無夠約分做-一的溫度(無論華氏溫標抑是攝氏溫標), 比如講 − 空九二度,伊袂當予人列做零度因為零度顯然袂變零去。毋過低於零度的天數往過是較冬季寒冷程度的一个基本統計資料,所以伊並袂使予人無注意著。毋過伊閣無低著會當約分做-一度,所以就予人記錄講 − 零度。

佇統計力學中,一个系統可能會有負的絕對溫度,但是佮直覺相反,這並毋是極端寒冷,顛倒是極端炎熱,比任何一个正的溫度攏較懸 ( 意指 − 零=無限 )。佇相關文獻內底,− 零就是上懸的溫度。

參考資料

  • Floating point types . MSDN C # 語言詳述 . [二空空五年十月十五] .(原始內容存檔佇二空空六年八月二四).
  • Division operator . MSDN C # 語言詳述 . [二空空五年十月十五] .(原始內容存檔佇二空空五年十一月二一).
  • Thomas Wang . Java Floating-Point Number Intricacies . 二空空空年三月 [二千空七孵七孵七] .(原始內容存檔佇兩千空五鋪九九陽二十一).
  • Specification . General Decimal Arithmetic : Encoding Strawman 四 d , version 空九九六 . [二空空五年十月十六] .(原始內容存檔佇二空一二年二月十七號).  —一个包含有負零的「十進位」浮點數規範

延伸閱讀

  • Michael Ingrassia . Fortran 九十五 SIGN Change . Sun Developer Network . [二空空五年十月十五] .(原始內容存檔佇二空一二年二月十七號).  —— Fortran 語言內底(Fortran 九十五)` SIGN ` 函式的一个變化以適應負零
  • JScript data types . MSDN JScript . [二空空五年十月十六] .(原始內容存檔佇二空空五年十一月十號).  —— JScript 的浮點數對定義上就包括負零
  • A look at the floating-point support of the Java virtual machine . Javaworld . [二空空五年十月十六] .(原始內容存檔佇二空一二年二月十七號).  —— Java 虛擬機器當中負零的表示法
  • Bruce Dawson . Comparing floating point numbers . [二千空七孵七孵七] .(原始內容存檔佇兩千空七堵七堵三).  —— 佇較浮點數時間是按怎處理負零的
  • John Walker . Minus Zero . UNIVAC Memories . [二空空五年十月十七號] .(原始內容存檔佇二空一二年二月十七號).  —— UNIVAC® 一千一百系列電腦中的一補數

參見

  • 數學
  • 電腦科學
  • 程式語言