雖然十六進制值「FFFFFFFF00」轉換成使用MS Excel中HEX2OCT八進制值,則它應該返回「錯誤字符串」按規則提到here:HEX2OCT公式返回不正確的結果
如果數是負數,HEX2OCT忽略位置並返回一個10個字符的八進制數。
如果數字爲負值,則不能小於FFE0000000,如果數字爲正值,則不能大於1FFFFFFF。
如果number不是有效的十六進制數,HEX2OCT返回#NUM!錯誤值。
如果HEX2OCT需要多個地方的字符,它會返回#NUM!錯誤值。
如果地方不是整數,它將被截斷。
如果地方不是數字,HEX2OCT會返回#VALUE!錯誤值。
如果地方是負數,HEX2OCT會返回#NUM!錯誤值。
但它計算並返回爲「7777777400」,而不考慮鏈接中提到的規則/備註。
例如:
在計算HEX2OCT,
作爲每Excel的規則,如果數是正的,它不能超過1FFFFFFF(十六進制)<更大 - > 3777777777(辛)< - > 536870911(十進制)。
但在計算FFFFFFFF00(十六進制)<→7777777400(oct)<→1099511627520(十進制)的HEX2OCT時。
這裏十六進制值FFFFFFFF00大於1FFFFFFF,但MS Excel不返回錯誤字符串,而是返回轉換後的八進制值。
任何人都可以解釋爲什麼嗎?