我有一個程序使用多個不同的int類型。與不同int類型的操作
最常用的是uint64_t
和標準int
。但是我想知道我是否可以安全地在他們之間進行混合操作。
例如我有一個uint64_t
,我想添加一個int
它並將該值另存爲uint64_t
。
正在做這樣的事情安全嗎?在我可以使用它之前,是否必須將int
轉換爲uint64_t
?
我不能在網上找到關於它的東西。它可能只是被允許的,沒有人會質疑它,或者我的Google查詢是錯誤的。
無論如何,基本上我的問題是我可以混合使用不同類型的整數進行操作嗎?
在算術之前更好地轉換爲更高精度的類型。 – herohuyongtao
演員是不必要的。 C規範說int會轉換爲最大類型。 – stark
[Cert C標準](https://www.securecoding.cert.org/confluence/display/seccode/INT02-C.+Understand+integer+conversion+rules)討論轉換規則和陷阱。 –