簡體   English   中英

將char轉換為int並將int轉換為double總是安全嗎?

[英]Is it always safe to cast char to int and int to double?

對於小端優先還是大端優先?

如果它們在數組中怎么辦? 也安全嗎?

這與字節序無關。

正如您在此處看到的那樣,char幾乎肯定會是8位,因此將其強制轉換為整數在每種意義上總是安全的。

但是,不能將int轉換為double。 例如,數字2 ^ 63-10無法以64位雙精度數精確表示。 閱讀每位計算機科學家應該了解的有關浮點算法的內容。 在此,強制轉換將導致數字被截斷,從而導致精度損失。

幸運的是,所有32位int都可以無損失地進行強制轉換,因此,如果您的int為32位長,那就很好。

是的,只要您要類型轉換常規C變量,它都是安全的。

如果您要更改或移動組成這些變量的原始字節,則只需擔心字節序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM