[英]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.