關於型別轉換的一些問題

2021-06-29 04:49:17 字數 527 閱讀 4090

今天在寫**時使用乙個long long型別的變數儲存乙個數的累加,最後在輸入的時候發生了溢位。

可能發生溢位的可能有幾個地方

1.其實變數並沒有溢位,只是在輸出時沒有使用正確的方式,例如long long型別 在使用printf時 識別符號應該使用%lld, unsigned longlong 應該使用ull等。

2.在計算時發生了溢位:例如 long long number= 1024 * 1024 *1024* 99; number看起來並沒有溢位因為是longlong型別,實際上,這個並不能儲存正確的結果。原因是等號右邊的常量計算符合從右到左的結合律,但是每個常量的型別只有4個位元組儲存,得到的結果也只使用4個位元組的儲存單位,當四個數都乘完之後,結果是先放在乙個4個位元組的儲存單位中(此時已經發生溢位),再將這四個位元組的數字賦值給number,雖然number是個longlong型別,8個位元組,但是儲存中間變數的單位只有4個位元組,所以number中的數也是錯誤的。我們在寫常量時最好也帶上型別例如 long long number = 1024ll*1024ll*1024ll*99.

關於面試的一些問題

面試過程中,面試官會向應聘者發問,而應聘者的回答將成為面試官考慮是否接受他的重要依據。對應聘者而言,了解這些問題背後的 貓膩 至關重要。本文對面試中經常出現的一些典型問題進行了整理,並給出相應的回答思路和參 讀者無需過分關注分析的細節,關鍵是要從這些分析中 悟 出面試的規律及回答問題的思維方式,達到...

關於Labview的一些問題

第一章 虛擬儀器及 labview入門 1 虛擬儀器概述 虛擬儀器 virtual instrumention 是基於計算機的儀器。計算機和儀器的密切結合是目前儀器發展的乙個重要方向。粗略地說這種結合有兩種方式,一種是將計算機裝入儀器,其典型的例子就是所謂智慧型化的儀器。隨著計算機功能的日益強大以及...

關於DropDownList的一些問題

dropdownlist選擇後提示不能在dropdownlist選擇多項 原因在於drop.selected true 用的是item的引用,無法覆蓋上次操作 有2種方法 一種是直接drop.selectvalue value 選定指定資料 另一種是在操作前 呼叫clearselection 方法清...