回答
double num = 5/2;
給出2作爲結果。
double num = 5/2.0;
或double num = 5.0/2.0;
或double num = 5.0/2;
給出2.5作爲結果。
你最好自己嘗試一下這些代碼。當你獨自思考/工作不夠時提出問題。這樣你可以學到更多。
num
是數據類型double
。因此,它會保存一個浮點值。
但是,它也取決於您分配給它的內容。
您目前正在爲它分配一個整數值。 5/2 = 2
。
因此,num
將被分配2
並且在內部它將被保存爲2.0
。
如果您希望num爲2.5,那麼在將其轉換爲浮點值之前進行分配。
num = 5.0/2
| num = 5.0/2.0
| num = 5/2.0
西港島線導致num = 2.5
double num = 5/2;
在大多數情況下,每一個表情,即使它是一個更大的表達式的子表達式,對自己的評價。結果的類型和值由(子)表達式本身決定,而不是它出現的上下文。
在表達式5/2
中,除法運算符有兩個操作數,兩個都是int
類型,所以它得出的結果爲int
。 (有整數除法產生非整數結果的語言,C++不是這些語言之一,也不是C)
5/2
的結果是2
(因爲整數除法截斷)。該值被轉換爲num
的類型並用於初始化它,因此num
的初始值爲2.0
。 (2
和2.0
是不同的,它們具有相同的數學值,但不同類型,即int
和double
這就是爲什麼隱式轉換是必要的。)
如果你想num
有值2.5
,有幾種方法你可以這樣做:
double num = (double)5/(double)2;
double num = (double)5/2;
double num = 5.0/2.0;
double num = 2.5;
在第二個例子中,左側和右側的操作數是不同類型的,所以他們通過一些適度複雜的規則轉換爲通用類型。在這種情況下,int
操作數轉換爲double
。
我通常更喜歡在浮點表達式中使用浮點常量而不是整數常量(5.0
而不是5
)。在一些情況下,整數常量將根據需要轉換爲浮點數,但正如我們在這裏看到的,這適用於單個文本而不是常量表達式。
哇。很好解釋。 –
- 1. switch語句分配給NSlocalizedString
- 2. 可以分配給rununtildate的runloop的最大值是多少?
- 3. 在case語句中分配多個列?
- 4. PHP - 在if語句中分配值
- 5. 在case語句分配多行
- 6. 分配if語句給一個變量
- 7. 顯示匹配多個語句的值
- 8. 什麼是下面的語句在Perl的含義:NUM // = 0
- 9. sqlite中多個JOIN語句的優先級是多少?
- 10. 價值分配,而不是用在if語句
- 11. 如何用CASE語句分配NULL值?
- 12. 分配一個值JSON與switch語句
- 13. 將值分配給一個變量,而不是使用if語句
- 14. 如何在Linq語句中轉換並分配正確的值
- 15. 如果語句匹配多個值
- 16. 分配的條件語句
- 17. 值分配給在numpy的
- 18. Angular 2:將數學語句分配給模板中的變量?
- 19. try/catch語句中有多少條語句?
- 20. 使用MOV指令時分配的值是多少?
- 21. 主函數中語句的最大數量是多少?
- 22. 如何在多個賦值語句中分配結構字段變量
- 23. PHP:在if語句中分配多個變量
- 24. lucene分數的最大值是多少?
- 25. 在列表列表中的值分配給元素分配給價值
- 26. 循環時花費更多;分配還是if語句?
- 27. Java - 檢查值是否由If分配如果其他語句
- 28. 上多部分的語句
- 29. switch語句中多個值的powershell語法是什麼?
- 30. Neo4j中的多個匹配語句
你嘗試過'double num = 5/2;'然後'cout << num'嗎? – Rafalon
你可以發佈網站的網址是2.5嗎? –
當你嘗試它時,它的價值是多少?你應該意識到,只需要將代碼輸入到編輯器中並花費更少的時間和精力就可以完成它,而不是將其輸入到瀏覽器中,然後從中創建一個問題......更不用說你必須等待的時間了一個答案。 –