青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

為生存而奔跑

   :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  271 Posts :: 0 Stories :: 58 Comments :: 0 Trackbacks

留言簿(5)

我參與的團(tuán)隊(duì)

搜索

  •  

積分與排名

  • 積分 - 331734
  • 排名 - 74

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

轉(zhuǎn)自http://blog.csdn.net/Albert0323/archive/2009/10/25/4725213.aspx

unsigned int i=3;
cout<<i * -1;
問(wèn)結(jié)果是多少。
 
第一反應(yīng):-3。不過(guò)結(jié)果似乎不是這樣的,寫(xiě)了個(gè)程序,運(yùn)行了一下,發(fā)現(xiàn)是:4294967293。很詭異的一個(gè)數(shù)字,怎么也想不明白為什么會(huì)是這么個(gè)奇怪的數(shù)字。但是在我發(fā)現(xiàn)這數(shù)的十六進(jìn)制數(shù)是FFFFFFFD時(shí),我想我已經(jīng)離答案很近了...
 
這個(gè)涉及到了混合著不同數(shù)據(jù)類型的表達(dá)式中的數(shù)據(jù)類型的轉(zhuǎn)換問(wèn)題。在總結(jié)轉(zhuǎn)換問(wèn)題之前,先說(shuō)明一下各種數(shù)據(jù)類型(只說(shuō)明numeric類型的),下表來(lái)自MSDN:
Type Name Bytes Other Names Range of Values
int * signed,
signed int
System dependent
unsigned int * unsigned System dependent
__int8 1 char,
signed char
–128 to 127
__int16 2 short,
short int,
signed short int
–32,768 to 32,767
__int32 4 signed,
signed int
–2,147,483,648 to 2,147,483,647
__int64 8 none –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
char 1 signed char –128 to 127
unsigned char 1 none 0 to 255
short 2 short int,
signed short int
–32,768 to 32,767
unsigned short 2 unsigned short int 0 to 65,535
long 4 long int,
signed long int
–2,147,483,648 to 2,147,483,647
unsigned long 4 unsigned long int 0 to 4,294,967,295
enum * none Same as int
float 4 none 3.4E +/- 38 (7 digits)
double 8 none 1.7E +/- 308 (15 digits)
long double 10 none 1.2E +/- 4932 (19 digits)

對(duì)上表補(bǔ)充說(shuō)明一下:
1)在32位機(jī)上,int型和unsigned int型都是32位的(4個(gè)字節(jié))。
2)enum會(huì)跟據(jù)最大值來(lái)決定類型,一般來(lái)說(shuō)為int型,如果超出int型所能表示的范圍,則用比int型大的最小類型來(lái)表示(unsigned int, long 或者unsigned long)
3)關(guān)于類型的大小。一般用所能表示的數(shù)據(jù)范圍來(lái)比較類型的大小,如char型<unsigned char型<short型...在表達(dá)式中,一般都是由小的類型向大的類型轉(zhuǎn)換(強(qiáng)制類型轉(zhuǎn)換除外)
 
下面結(jié)合自己查的資料,加上自己不斷地舉各種情況編程,總結(jié)一下關(guān)于類型轉(zhuǎn)換(僅限于算術(shù)表達(dá)式中關(guān)于整數(shù)類型的轉(zhuǎn)換)的一些問(wèn)題(如有缺漏,歡迎補(bǔ)充,感激不盡)
1、所有比int型小的數(shù)據(jù)類型(包括char,signed char,unsigned char,short,signed short,unsigned short)轉(zhuǎn)換為int型。如果轉(zhuǎn)換后的數(shù)據(jù)會(huì)超出int型所能表示的范圍的話,則轉(zhuǎn)換為unsigned int型;
2、bool型轉(zhuǎn)化為int型時(shí),false轉(zhuǎn)化為0,true轉(zhuǎn)換為1;反過(guò)來(lái)所有的整數(shù)類型轉(zhuǎn)化為bool時(shí),0轉(zhuǎn)化為false,其它非零值都轉(zhuǎn)為true;
3、如果表達(dá)式中混有unsigned short和int型時(shí),如果int型數(shù)據(jù)可以表示所有的unsigned short型的話,則將unsigned short類型的數(shù)據(jù)轉(zhuǎn)換為int型,否則,unsigned short類型及int型都轉(zhuǎn)換為unsigned int類型。舉個(gè)例子,在32位機(jī)上,int是32位,范圍–2,147,483,648 to 2,147,483,647,unsigned short是16位,范圍0 to 65,535,這樣int型的足夠表示unsigned short類型的數(shù)據(jù),因此在混有這兩者的運(yùn)算中,unsigned short類型數(shù)據(jù)被轉(zhuǎn)換為int型;
4、unsigned int 與long類型的轉(zhuǎn)換規(guī)律同3,在32位機(jī)上,unsigned int是32位,范圍0 to 4,294,967,295,long是32位,范圍–2,147,483,648 to 2,147,483,647,可見(jiàn)long類型不夠表示所有的unsigned int型,因此在混有unsigned int及l(fā)ong的表達(dá)式中,兩者都被轉(zhuǎn)換為unsigned long;
5、如果表達(dá)式中既有int 又有unsigned int,則所有的int數(shù)據(jù)都被轉(zhuǎn)化為unsigned int類型。
 
經(jīng)過(guò)這番總結(jié),前面提出的問(wèn)題的答案應(yīng)該就很明顯了吧。在表達(dá)式i*-1中,i是unsigned int型,-1是int型(常量整數(shù)的類型同enum),按第5條可以知道-1必須轉(zhuǎn)換為unsigned int型,即0xffffffff,十進(jìn)制的4294967295,然后再與i相乘,即4294967295*3,如果不考慮溢出的話,結(jié)果是12884901885,十六進(jìn)制0x2FFFFFFFD,由于unsigned int只能表示32位,因此結(jié)果是0xfffffffd,即4294967293。
 
嗯,大約就是這樣了。你感興趣的話,可以換各種形式去寫(xiě)寫(xiě)程序,看看結(jié)果,很有意思的哦。
posted on 2011-04-06 15:57 baby-fly 閱讀(1626) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 技術(shù)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产一区二区成人| 欧美黄在线观看| 亚洲高清不卡一区| 麻豆视频一区二区| 欧美成人精品在线视频| 亚洲高清免费视频| 亚洲裸体视频| 亚洲线精品一区二区三区八戒| 亚洲午夜成aⅴ人片| 久久精品国产91精品亚洲| 麻豆av一区二区三区久久| 欧美精品在线免费观看| 国产精品久久久一区二区三区 | 亚洲性视频网址| 亚洲男人的天堂在线观看| 欧美在线啊v| 免费中文日韩| 国产九九视频一区二区三区| 在线成人av.com| 99视频一区二区| 久久九九热re6这里有精品| 欧美黄色影院| 午夜精品在线观看| 欧美日韩国产色站一区二区三区 | 一区二区三区免费网站| 久久免费国产精品| 9l国产精品久久久久麻豆| 久久精品在这里| 国产精品theporn88| 亚洲三级免费电影| 久久婷婷综合激情| 亚洲综合视频一区| 欧美日韩调教| 99精品99久久久久久宅男| 久久久久在线| 中文久久精品| 欧美精品一区二区三区蜜臀| 狠狠做深爱婷婷久久综合一区| 亚洲在线视频网站| 亚洲精品国精品久久99热一| 久久九九久久九九| 国产欧美日韩一级| 亚洲综合另类| 亚洲婷婷综合久久一本伊一区| 欧美日本在线播放| 一本色道久久综合亚洲精品按摩| 亚洲电影免费观看高清完整版在线 | 久久久久久久成人| 国产精品毛片大码女人| 亚洲已满18点击进入久久| 亚洲级视频在线观看免费1级| 欧美在线1区| 国产在线高清精品| 久久成人精品视频| 欧美伊久线香蕉线新在线| 国产欧美婷婷中文| 久久久999| 久久精品国产清高在天天线| 激情自拍一区| 欧美激情视频在线播放| 欧美成人亚洲成人| 一区二区三区免费在线观看| 亚洲一区二区三区高清不卡| 国产亚洲一区二区三区| 久久久精品网| 巨胸喷奶水www久久久免费动漫| 狠狠综合久久av一区二区小说| 免费观看成人www动漫视频| 久久综合激情| 亚洲高清久久网| 麻豆乱码国产一区二区三区| 欧美视频网址| 亚洲三级毛片| 欧美国产日韩一区二区| 久久午夜影视| 99国产精品久久久久久久成人热 | 亚洲美女av电影| 欧美另类亚洲| 亚洲自拍电影| 欧美一区二区性| 亚洲国产高清一区二区三区| 亚洲电影一级黄| 欧美视频在线观看免费| 欧美在线影院| 欧美大片18| 午夜在线观看免费一区| 久久久精品性| 亚洲一卡久久| 久久乐国产精品| 亚洲综合二区| 免费一级欧美片在线观看| 亚洲视频大全| 久久精品亚洲国产奇米99| 中日韩在线视频| 久久久久久久97| 亚洲影视综合| 免费中文日韩| 卡一卡二国产精品| 欧美四级伦理在线| 欧美国产第一页| 国产女优一区| 亚洲精品在线免费| 亚洲大片av| 亚洲欧美精品suv| 99精品黄色片免费大全| 久久精品视频在线观看| 午夜视黄欧洲亚洲| 欧美国产日韩一区二区三区| 久久久噜噜噜久久| 国产精品日韩电影| 亚洲免费av观看| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美www在线| 国产精品裸体一区二区三区| 亚洲国产精品va在看黑人| 国产自产精品| 亚洲欧美国产制服动漫| 亚洲欧美成aⅴ人在线观看| 免费观看日韩av| 久久精品人人做人人爽| 最新国产の精品合集bt伙计| 国产一区二区三区四区| 一区二区电影免费观看| 国产午夜精品久久久| 亚洲国产一区二区精品专区| 在线观看国产欧美| 欧美亚洲日本国产| 亚洲欧美视频在线观看| 欧美日韩一二三四五区| 蜜臀av性久久久久蜜臀aⅴ| 国产日韩欧美日韩大片| 欧美成人免费全部观看天天性色| 一卡二卡3卡四卡高清精品视频 | 亚洲一区二区在线看| 牛牛影视久久网| 亚洲一区二区在线播放| 一区二区在线观看视频在线观看| 欧美美女bbbb| 久久精品一区四区| 日韩视频永久免费| 麻豆精品在线观看| 午夜精品视频网站| 日韩香蕉视频| 永久91嫩草亚洲精品人人| 欧美性片在线观看| 欧美成人一品| 鲁鲁狠狠狠7777一区二区| 亚洲欧美精品在线| 99国产一区二区三精品乱码| 免费视频一区| 久久久久久综合网天天| 午夜久久福利| 亚洲欧美日韩爽爽影院| 在线视频你懂得一区| 最新69国产成人精品视频免费| 国产一区白浆| 国产日韩欧美另类| 国产精品一区二区三区成人| 欧美日韩一视频区二区| 欧美激情一区在线| 欧美91福利在线观看| 久久琪琪电影院| 久久激情网站| 久久福利精品| 欧美一级日韩一级| 午夜精品久久久| 亚洲欧美日韩一区二区三区在线| 在线视频亚洲一区| 亚洲美洲欧洲综合国产一区| 亚洲理伦电影| 99天天综合性| 在线综合视频| 亚洲影院在线观看| 亚洲欧美日本视频在线观看| 亚洲一区二区av电影| 亚洲一区二区网站| 欧美亚洲免费在线| 久久精品一本久久99精品| 久久久亚洲欧洲日产国码αv | 正在播放欧美一区| 制服诱惑一区二区| 亚洲欧美日韩成人高清在线一区| 亚洲视频欧美在线| 午夜欧美大片免费观看| 欧美在线免费| 久久免费99精品久久久久久| 欧美1区2区3区| 亚洲国产精品t66y| 99精品国产在热久久| 亚洲一区二区三区四区在线观看| 亚洲欧美福利一区二区| 久久精品国产v日韩v亚洲| 老司机凹凸av亚洲导航| 欧美日韩大片| 亚洲女ⅴideoshd黑人| 老鸭窝毛片一区二区三区 | 久久九九全国免费精品观看| 卡一卡二国产精品| 欧美日韩国产123| 国产精品影音先锋|