最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++有符號(hào)和無符號(hào)之間的轉(zhuǎn)換問題

 更新時(shí)間:2021年07月07日 09:16:48   作者:Cdf(人名)  
在開發(fā)中經(jīng)常會(huì)遇到有符號(hào)和無符號(hào)之間的轉(zhuǎn)換問題,如果不清楚問題根源,很難解決bug,今天小編通過本文給大家分享c++有符號(hào)無符號(hào)轉(zhuǎn)換問題,需要的朋友參考下

先來看一個(gè)程序:

#include<iostream>
 
int main()
{
    unsigned a=5;
    int b=-10;
    std::cout<<b+b<<std::endl;//正常輸出
    std::cout<<a+b<<std::endl;
 
    return 0;
}

打?。?20
4294967291

-20正常打印我們都知道,但當(dāng)一個(gè)有符號(hào)和一個(gè)無符號(hào)之間的數(shù)進(jìn)行相加減會(huì)發(fā)生什么呢?

是這樣的:a+b,首先把負(fù)數(shù)轉(zhuǎn)換為無符號(hào)數(shù),然后在進(jìn)行運(yùn)算。

b轉(zhuǎn)換為無符號(hào)數(shù)就是對(duì)b取模,2^32+b,結(jié)果為4294967286。

再看:

#include<iostream>
 
int main()
{
      unsigned a=10,b=5;
      std::cout<<b-a<<std::endl;
 
      return 0;
}

打?。?294967291

其過程是對(duì)運(yùn)算后的結(jié)果-5取模

循環(huán)中的發(fā)現(xiàn):

#include<iostream>
 
int main()
{
     unsigned u=5;
     while(u>=0)
     {
          --u;
          std::cout<<u<<std::endl;
     }
 
     return 0;
 
}

運(yùn)行結(jié)果將是無限打印,原因是:當(dāng)u=0時(shí),仍能進(jìn)去循環(huán),然后u=-1了,由于u的類型是unsigned則被取模轉(zhuǎn)換了,則u總是大于0的,所以是無限循環(huán)。

此時(shí)應(yīng)將while里面的條件改成:u>0,當(dāng)u=0時(shí)不能進(jìn)去循環(huán),u不是小于0也就沒有類型轉(zhuǎn)換,則循環(huán)能終止。

到此這篇關(guān)于C++有符號(hào)和無符號(hào)之間的轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)c++有符號(hào)無符號(hào)轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Qt使用QCamera實(shí)現(xiàn)切換相機(jī),分辨率和圖像捕獲功能

    Qt使用QCamera實(shí)現(xiàn)切換相機(jī),分辨率和圖像捕獲功能

    這篇文章主要為大家介紹了如何利用Qt中的相機(jī)類QCamera,取景器類QCameraViewfinder,圖像捕獲類QCameraImageCapture實(shí)現(xiàn)切換相機(jī)、分辨率和圖像捕獲功能,需要的可以了解一下
    2023-04-04
  • C++開發(fā)protobuf動(dòng)態(tài)解析工具

    C++開發(fā)protobuf動(dòng)態(tài)解析工具

    這篇文章主要為大家介紹了C++開發(fā)protobuf動(dòng)態(tài)解析工具實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 詳解C++ 中的三種繼承方式

    詳解C++ 中的三種繼承方式

    這篇文章主要介紹了詳解C++ 中的三種繼承方式,幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下
    2021-03-03
  • C++基礎(chǔ)入門之運(yùn)算符

    C++基礎(chǔ)入門之運(yùn)算符

    下面小編就為大家?guī)硪黄P(guān)于C++運(yùn)算符基礎(chǔ)的文章。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2021-11-11
  • Visual Studio Code (vscode) 配置 C / C++ 環(huán)境的流程

    Visual Studio Code (vscode) 配置 C / C++ 環(huán)境的流程

    這篇文章主要介紹了Visual Studio Code (vscode) 配置 C / C++ 環(huán)境的流程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • C/C++實(shí)現(xiàn)Windows注冊(cè)表的基本操作

    C/C++實(shí)現(xiàn)Windows注冊(cè)表的基本操作

    Windows注冊(cè)表(Registry)是Windows操作系統(tǒng)中用于存儲(chǔ)系統(tǒng)配置信息、用戶設(shè)置和應(yīng)用程序數(shù)據(jù)的一個(gè)集中式數(shù)據(jù)庫,本文主要為大家介紹了C++對(duì)注冊(cè)表的基本操作,感興趣的小伙伴可以了解下
    2023-11-11
  • Dashboard Interface 應(yīng)用實(shí)現(xiàn)操作

    Dashboard Interface 應(yīng)用實(shí)現(xiàn)操作

    Dashboard Server Remote Control Interface是一個(gè)關(guān)鍵的功能,它為用戶提供了通過TCP/IP協(xié)議遠(yuǎn)程控制機(jī)器人的能力,執(zhí)行包括開關(guān)機(jī)、加載程序、檢查機(jī)器人狀態(tài)以及設(shè)置機(jī)器人操作模式等多種操作,本文介紹Dashboard Interface 應(yīng)用操作,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • c語言之char*和unsigned?char*的區(qū)別及說明

    c語言之char*和unsigned?char*的區(qū)別及說明

    這篇文章主要介紹了c語言之char*和unsigned?char*的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C語言中實(shí)現(xiàn)KMP算法的實(shí)例講解

    C語言中實(shí)現(xiàn)KMP算法的實(shí)例講解

    KMP算法即字符串匹配算法,C語言中KMP可以避免指針回溯從而達(dá)到高效,接下來就來總結(jié)一下C語言中實(shí)現(xiàn)KMP算法的實(shí)例講解
    2016-06-06
  • 利用c++寫一個(gè)簡單的推箱子小游戲

    利用c++寫一個(gè)簡單的推箱子小游戲

    推箱子想必是很多人童年時(shí)期的經(jīng)典游戲,我們依舊能記得抱個(gè)老人機(jī)娛樂的場景,下面這篇文章主要給大家介紹了關(guān)于如何利用c++寫一個(gè)簡單的推箱子小游戲的相關(guān)資料,需要的朋友可以參考下
    2021-09-09

最新評(píng)論

阳曲县| 荔波县| 德格县| 信丰县| 宜黄县| 保康县| 汉阴县| 棋牌| 略阳县| 集安市| 延安市| 敦化市| 盐亭县| 葫芦岛市| 巴中市| 奉化市| 泰兴市| 阿拉善盟| 保德县| 瑞昌市| 三门县| 屏东县| 贵州省| 富平县| 军事| 龙南县| 商丘市| 上虞市| 嘉兴市| 拜泉县| 咸阳市| 北宁市| 衡水市| 芦溪县| 瓦房店市| 利川市| 延川县| 揭阳市| 永平县| 黑山县| 乐至县|