黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平
駕駛員 | 網絡編輯
衛生資格 | 執業醫師 | 執業藥師 | 執業護士
會計從業資格考試會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師
注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師
質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師
設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師
城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現在的位置: 考試吧(Exam8.com) > 計算機等級考試 > 計算機二級 > C語言 > 復習資料 > 正文

計算機等考二級:關于C語言中無符號數和有符號數

  無符號數和有符號數是不能進行比較運算的,否則可能會出現意想不到的錯誤,且極難檢查出來!

  首先肯幾個例子(假設在32位的機器上):

  1 1. 0 == 0U

  2 2. -1 < 0U (注: 0是無符號的)

  3 3. 2147483647U > -2147483647 - 1

  4 4. 2147483647 > (int) 2147483648U

  結果如下:

  1 1. 1

  2 2. 0 *

  3 3. 0 *

  4 4. 1 *

  從結果中可以看出,2 3 4都不是我們想像中的結果。在C語言中,當一個無符號數和一個有符號數進行比較運算時,有符號數會被隱含的轉換成無符號數,并假設這兩個數都是非負數,然后進行比較運算。當把一個有符號數轉換成無符號數時,其底層的二進制表示沒有改變,僅僅是對其進行了不同的解釋。這樣,由于這兩個原因就會出現上面的結果。

  首先分析一下2:

  -1的二進制補碼表示是32個1。而0U的二進制補碼表示是32個0.在比較的時候,-1被當做無符號數,也就是把32個1當做無符號數和32個0的無符號數比較,顯然,32個1要大于32個0.所以,2的結果是1.

  再看看3,-2147483647的二進制補碼表示是1000 0000 0000 0000 0000 0000 0000 0000, -1的補碼表示是32個1,兩個相加,也就是補碼異或,得到0111 1111 1111 1111 1111 1111 1111 1111,這個結果是溢出的。由于前一個的操作數是無符號數,因此,前面的計算結果被當做無符號數來處理,因此,這兩個數是相等的。所以結果是0.對于 4,2147483648U被轉換成有符號數是-1,所以4的結果是1.

  從上面可以看出,無符號數和有符號數在進行比較的時候,如果數值在邊界上,則很容易出錯。

  看下面的一段程序:

  1 float sum(float a[], unsigned int len)

  2 {

  3 int i;

  4 float r = 0.0;

  5 for (i = 0; i <= len - 1; ++i)

  6 {

  7 r += a[i];

  8 }

  9 return r;

  10 }

  如果len為0,那么這段代碼將不會返回0.0。而是段錯誤。

1 2 3 下一頁
  相關推薦:2010年全國計算機等級考試考試報考指南
       2010年上半年全國計算機等級考試報名匯總
       考試吧:2010年上半年計算機等級考試備考專題
文章搜索
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
主站蜘蛛池模板: 国产精品自在线 | 国产一区二区三区四 | 国产日韩亚洲欧洲一区二区三区 | 在线成人免费 | 最近2019免费中文字幕6 | 交性大片欧美多人 | 亚洲第一成年网站大全亚洲 | 日本在线不卡免费 | 亚洲va国产va欧美va综合 | 国99久9在线 | 免费 | 美女肥胖大bbbb | 国产亚洲人成在线影院 | 天天操天天射天天插 | 国产亚洲精品精品国产亚洲综合 | 日韩有码视频在线 | 欧美婷婷综合 | 亚洲综合专区 | 日韩欧美 在线播放 | 日韩在线视屏 | 亚洲成色在线综合网站 | 国产精品午夜波多野结衣性色 | 最新在线鲁丝片eeuss第1页 | 伊人中文字幕在线观看 | 2020天天干 | 黄色片免费在线播放 | 毛片的网址 | www.男女| 日本道综合一本久久久88 | 国产精品成人在线 | 欧美日韩在线观看一区二区 | 婷婷久久综合九色综合绿巨人 | 性欧美videofree另类 | 操人的网站 | 久久亚洲不卡一区二区 | 久久亚洲精品中文字幕二区 | 天天草狠狠干 | 成年美女黄网站色大免费视频 | 最近2019高清中文字幕 | 日本一区二区不卡久久入口 | 巨胸喷奶水www久久久免费观看 | 91网站国产 |