的問題是,這裏是你混淆了訪問小數類型的問題,而單雙型浮點值的可接入性。
如果您在訪問使用貨幣數據類型,這是一個縮放整數,且不會產生圓(這就是我們大多數人使用的財務計算和報告)。您也可以在訪問中使用十進制值,並且它們再次不包括小數點,因爲它們是打包的小數。
然而,無論是可用的接入內的單,雙值實際上相同的格式和符合IEEE浮點標準。
對於接入單可變,這是一個32位的數,其範圍是:
-3.402823E38
to
-1.401298E-45 for negative values
和
1.401298E-45
to
3.402823E38 for positive values
這看起來是相同的以我爲IEEE 754標準。
所以,如果你在訪問一個單一加起來值,你應該得到的圓棒相同的結果。
所以,基於Intel,Access和single雙倍我相信和這個IEEE標準一樣。
唯一真正的問題是,這裏是什麼是你拉入訪問原始數據,以及什麼樣的文本或字符串或轉換過程中的時數據拉入和存儲發生的格式?
訪問可以轉換數字。嘗試在訪問命令行提示符下鍵入這些值(調試窗口)
? hex(255)
Above will show FF
? csng(&hFF)
Above will show 255
編輯:
嗯,好吧,我現在看到我有這樣的逆轉,我的錯在這裏。這裏的問題是假設您將一個數字轉換爲舊的IBM格式(超額64?),那麼您必須親自操作它們用於添加這些數字的代碼。事實上,即使在那個時候,根據您購買的不同IBM模型實際產生不同的結果(更多的錢=更高的精度)。
所以,你不僅需要轉換程序轉換爲內部表示,然後需要的是添加/例程減/乘這些數字。因此,只有轉換例程不會讓你走得很遠,因爲你還必須複製確實的數學例程。這些類型的例程可能不是所有在如何輪數等方面平等
你肯定對IBM使用浮點報告嗎?大部分這類事情都使用BCD。 – Gabe 2010-10-22 18:50:01
我不是100%肯定 - 這個決定是基於一個同事回憶的大型機程序員解釋年前,我們無法比擬的舊數據的原因是由於「在編譯器處理小數位方式的變化」,並發現在我們停止看到不一致之前的幾年,SAS增加了對IEEE浮點和IBM浮點的支持。 – 2010-10-22 19:15:01
BCD格式不是浮點格式,或者在70年代末和80年代在S/34,S/36和S/38的IBM微型計算機世界中不是。 http://en.wikipedia.org/wiki/Binary-coded_decimal – 2010-10-22 21:15:13