我可以從
long long int
變量中減去int
變量嗎?從long long int中減去int int萬一我做不到:我需要存儲比可以存儲在
int
數字的比較大的數字,我不希望使用double
或float
因爲我需要整數,我該怎麼辦?我不想全部使用long long int
。有沒有辦法將int
轉換爲long long int
,以便我可以進行減法?
0
A
回答
5
是的,你可以。 int
將通過常規算術轉換轉換爲long long int
爲減法,使兩個操作數具有相同的整數轉換等級,並且結果也將是long long int
。
這是通過§5/ 9覆蓋:
意想不到算術或枚舉類型原因的轉化率和產率結果類型的操作數以類似的方式,許多二進制運算符。目的是產生一個共同的類型,這也是結果的類型。這種模式被稱爲通常的算術轉換,其被定義如下:
[...]
如果這兩個操作數已簽署整數類型或兩者都具有無符號整數類型,則操作數 用的較小的類型整數轉換等級應轉換爲等級較高的操作數的類型。
[...]
的long long int
的排名比的int
等級更高。
1
是的,你可以從long long int
減去int
。由於int
會自動加寬,因此您不需要任何明確的轉換。
1
是;結果是
long long
(直到您將其轉換爲其他內容;實際上,它是long long
,但您可能會將結果轉換爲其他類型)。N/A。
相關問題
- 1. unsigned long long int
- 2. 從int轉換爲long long
- 3. Arduino long long int doc
- 4. long double vs long int
- 5. 對int int long long的警告
- 6. unsigned long long VS unsigned long long int
- 7. long unsigned int和unsigned long int有什麼區別int
- 8. C++ int與long
- 9. %d與Long Int
- 10. long long int在windowsxp和windows7
- 11. 如何將long long int的數字放入long long int數組中
- 12. 從'long int'無效轉換爲'long int *'-fpermissive
- 13. 顯着的性能從'int'減少到'long int'
- 14. Robot.delay(int)與Thread.sleep(long)
- 15. assert equals int long float
- 16. Java Thread.sleep long或int?
- 17. DataColumn DataType int和long
- 18. Java - int/long,float/double
- 19. unsigned int/signed int/long long:莫名其妙的輸出
- 20. 「long long = int + int」先計算,然後鍵入轉換?
- 21. 長長爲int和int爲long long轉換
- 22. 'intmax_t`應該在64位的`long int`和`long long int`平臺上做什麼?
- 23. 'long long int'被解釋爲'long int'。我該如何解決這個問題?
- 24. unsigned int(32bit)爲無符號long long(64bit)
- 25. MSVC++處理無符號long long int
- 26. 將int轉換爲無符號long long
- 27. long int v。long的可讀性
- 28. 將字符串轉換爲long long int
- 29. std :: streampos,std :: streamoff和std :: streamsize long long int?
- 30. 聯盟爲unsigned long long int類型投
當然寫'int main(){long long int x = 100012u1928109111211LL; int y = 1234; printf(「%lld \ n」,x-y);返回0; }'和'gcc -Wall -std = c99 mytest.c -o mytest'比這個問題更短? –
@MatsPetersson - 當然,它更短,但不會編譯。 –
你的意思是它缺少#include - 它仍然會更短... –