亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

關(guān)于C語言中的無符號數(shù)和有符號數(shù)

2023-06-09 12:08:10
字體:
供稿:網(wǎng)友

        無符號數(shù)和有符號數(shù)是不能進(jìn)行比較運(yùn)算的,否則可能會出現(xiàn)意想不到的錯(cuò)誤,且極難檢查出來!

  首先肯幾個(gè)例子(假設(shè)在32位的機(jī)器上):

  1.   0 == 0U

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

   3.   2147483647U > -2147483647 - 1

   4.   2147483647 > (int) 2147483648U

  結(jié)果如下:

   1.    1

   2.    0 *

   3.    0 *

   4.    1 *

  從結(jié)果中可以看出,2 3 4都不是我們想像中的結(jié)果。在C語言中,當(dāng)一個(gè)無符號數(shù)和一個(gè)有符號數(shù)進(jìn)行比較運(yùn)算時(shí),有符號數(shù)會被隱含的轉(zhuǎn)換成無符號數(shù),并假設(shè)這兩個(gè)數(shù)都是非負(fù)數(shù),然后進(jìn)行比較運(yùn)算。當(dāng)把一個(gè)有符號數(shù)轉(zhuǎn)換成無符號數(shù)時(shí),其底層的二進(jìn)制表示沒有改變,僅僅是對其進(jìn)行了不同的解釋。這樣,由于這兩個(gè)原因就會出現(xiàn)上面的結(jié)果。

  首先分析一下2:

  -1的二進(jìn)制補(bǔ)碼表示是32個(gè)1。而0U的二進(jìn)制補(bǔ)碼表示是32個(gè)0.在比較的時(shí)候,-1被當(dāng)做無符號數(shù),也就是把32個(gè)1當(dāng)做無符號數(shù)和32個(gè)0的無符號數(shù)比較,顯然,32個(gè)1要大于32個(gè)0.所以,2的結(jié)果是1.

  再看看3,-2147483647的二進(jìn)制補(bǔ)碼表示是1000 0000 0000 0000 0000 0000 0000 0000, -1的補(bǔ)碼表示是32個(gè)1,兩個(gè)相加,也就是補(bǔ)碼異或,得到0111 1111 1111 1111 1111 1111 1111 1111,這個(gè)結(jié)果是溢出的。由于前一個(gè)的操作數(shù)是無符號數(shù),因此,前面的計(jì)算結(jié)果被當(dāng)做無符號數(shù)來處理,因此,這兩個(gè)數(shù)是相等的。所以結(jié)果是0.對于4,2147483648U被轉(zhuǎn)換成有符號數(shù)是-1,所以4的結(jié)果是1.

  從上面可以看出,無符號數(shù)和有符號數(shù)在進(jìn)行比較的時(shí)候,如果數(shù)值在邊界上,則很容易出錯(cuò)。

  看下面的一段程序:

  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。而是段錯(cuò)誤。

  另外,當(dāng)在無符號數(shù)和有符號數(shù)之間進(jìn)行類型轉(zhuǎn)換時(shí),不同的轉(zhuǎn)換順序會得到不同的結(jié)果。如:

  1

      2  unsigned x = 0xFFFF;

  3   (int) ((word << 24) >> 24);

  4   ((int) word << 24) >> 24;

  第一個(gè)表達(dá)式的結(jié)果是0xFF,而第二個(gè)是0xFFFFFFFF.原因是第一個(gè)表達(dá)式的右移運(yùn)算高位補(bǔ)0,而第二個(gè)右移運(yùn)算高位補(bǔ)1.

測試代碼:

  1 #include <stdlib.h>

  2 #include <stdio.h>

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

  4 {

  5     int i;

  6     float r = 0.0;

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

  8     {

  9         r += a[i];

  10     }

  11

  12     return r;

  13 }

  14

  15 int main()

  16 {

  17     printf("-1 < 0U : %s/n", (-1 < 0U) ? "true" : "false");

  18     printf("2147483647U > -2147483647 - 1 : %s/n", ( 2147483647U > -2147483647 - 1) ? "true" : "false");

  19     printf("2147483647 > (int)2147483648U : %s/n", ( 2147483647 > (int)2147483648U) ? "true" : "false");

  20

  21     unsigned w = 0xFFFF;

  22     printf("(int) ((w << 24) >> 24) = %x/n", (int) ((w << 24) >> 24));

  23     printf("((int)(w << 24)) >> 24 = %x/n", ((int)(w << 24)) >> 24);

  24

  25     float a[1];

  26     printf("sum %f/n", sum(a, 0));

  27     return 0;

  28 }

  運(yùn)行結(jié)果:

  1 hcy@hcy-desktop:~$ ./a.out

  2 -1 < 0U : false

  3 2147483647U > -2147483647 - 1 : false

  4 2147483647 > (int)2147483648U : true

  5 (int) ((w << 24) >> 24) = ff

  6 ((int)(w << 24)) >> 24 = ffffffff

  7 段錯(cuò)誤

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
精品国产凹凸成av人导航| 国产真实乱对白精彩久久| 青青在线视频| 丰满圆润老女人hd| 亚洲大胆美女视频| 亚洲精品在线影院| 日韩福利电影在线观看| 五月天综合激情| 自拍偷拍欧美视频| 秋霞成人午夜鲁丝一区二区三区| 日韩欧美色综合网站| 国产农村妇女精品久久| 五月天男人天堂| 中文字幕免费观看视频| 欧美日韩xxx| 五十路六十路七十路熟婆| 精品奇米国产一区二区三区| 战狼4完整免费观看在线播放版| 亚洲av无码精品一区二区| 久久久一本精品| 亚洲欧美激情视频在线观看一区二区三区| 在线综合视频| 天海翼中文字幕| 成人免费在线视频| 91网页版在线登录入口| 国产精品一在线观看| 91亚洲资源网| 久久国产精品无码一级毛片| 中文字幕精品一区久久久久| 不卡中文字幕在线观看| 日韩欧美aaa| 国产交换配乱淫视频免费| 亚欧精品在线视频| 91文字幕巨乱亚洲香蕉| 欧美激情欧美激情| 国产视频精品久久久| 日韩一区二区在线免费| 国产精品毛片a∨一区二区三区|国| 久久久久99精品成人片试看| 91精品国产高清久久久久久| 国产精品久久久久婷婷| 在线视频福利一区| 国产精品原创视频| 欧美午夜精品电影| 久久国际精品| 97超碰人人模人人爽人人看| 国产精品免费久久久久影院| 欧美高清视频免费观看| 亚洲精品国产福利| 成熟亚洲日本毛茸茸凸凹| 国产一级片免费看| 亚洲一区 在线播放| 精品国产青草久久久久福利| 91沈先生在线观看| 国产美女性感在线观看懂色av| 中文字幕一区二区三区色视频| 亚洲奶汁xxxx哺乳期| 亚洲欧美在线第一页| 亚洲人成亚洲人成在线观看图片| 亚洲天堂网一区二区| 国产午夜精品全部视频在线播放| 国产精品丝袜黑色高跟鞋| 三年中文高清在线观看第6集| 日韩精品一区中文字幕| 91最新在线| 欧美男人亚洲天堂| 波多野结衣黄色网址| 色多多在线观看| 成人18视频| 亚洲一二三区视频在线观看| 男女一区二区三区免费| 香蕉视频在线播放| 国产精品久久久久一区二区三区| 超碰中文在线| 四虎国产成人永久精品免费| 欧美一级在线视频| 亚洲理论电影| 一区二区三区在线不卡| 国产欧美一区二区三区国产幕精品| 日韩久久久精品| 手机在线中文字幕| 在线观看欧美视频| 一级毛片视频| 日韩一级成人av| 成年网在线观看免费观看网址| 在线观看毛片av| 色戒汤唯在线观看| 黄网站app在线观看大全免费视频| 国产a级黄色片| 今天的高清视频免费播放成人| 国产免费一区二区三区最新不卡| 色88888久久久久久影院野外| 欧美综合在线观看| 亚洲永久免费| 成人黄色a**站在线观看| 蜜桃视频最新网址| 国产黄a三级三级三级av在线看| 先锋影音资源综合在线播放av| h视频在线观看免费完整版| 91嫩草国产线观看亚洲一区二区| 91精品国产一区二区三区蜜臀| 天堂蜜桃91精品| www.aqdy爱情电影网| 久激情内射婷内射蜜桃| 欧美人妇做爰xxxⅹ性高电影| 久久九九全国免费| 免费观看成人在线视频| 日韩一区二区免费视频| 欧洲精品久久一区二区| 国产美女被遭强高潮免费网站| 日韩一级高清毛片| 国产富婆一区二区三区| 五月天婷婷在线观看视频| 在线中文字幕一区| 高清视频一区二区三区四区| 8x8x成人免费视频| 中文国产成人精品| 免费一级片在线观看| 四虎4hu新地址入口2023| 日韩毛片免费视频一级特黄| 亚洲最大成人网色| 免费看污视频的网站| 538任你躁在线精品视频网站| 老司机免费视频| 香蒸焦蕉伊在线| 136国产福利精品导航| 成人区精品一区二区婷婷| 91在线视频官网| 日本一区二区三区在线不卡| 欧美绝品在线观看成人午夜影视| 黄色片免费观看视频| 好看的日韩精品| 超碰人人干人人| jizz在线观看中文| 影院欧美亚洲| 激情综合网五月激情| 亚洲国产影院| 91视频在线观看| 成人四虎影院| 亚洲夜晚福利在线观看| 蜜桃传媒在线| 国产美女视频一区| 国产亚洲一区二区在线| 欧美理论在线观看| 一本一道无码中文字幕精品热| 先锋影音av在线资源| 欧美激情精品久久久久久| 国产精品久久久久一区| 欧美国产精品久久| 免费观看在线综合| 日本在线视频一区二区| 精品人妻少妇AV无码专区| 欧美日本另类xxx乱大交| 色琪琪综合男人的天堂aⅴ视频| 一级片视频免费观看| 性生交大片免费看l| 精品美女在线播放| 日日干夜夜操| 欧美影视一区在线| 亚洲成人在线| 九九热只有精品| 亚洲高清资源综合久久精品| 国产裸体视频网站| 99riav久久精品riav| 欧美日本啪啪无遮挡网站| 国产精品99久久99久久久| 婷婷精品在线| 色偷偷一区二区三区| 日韩三级av| 中文在线中文字幕| 久久久久国产精品夜夜夜夜夜| 日本精品久久电影| 可以直接看的无码av| 日本成人三级电影| 在线观看一二三区| 国产精品久久久| 女同激情久久av久久| 日韩av大片在线| 亚洲人成人77777线观看| 亚洲国产一区二区三区a毛片| 2018亚洲男人天堂| 日本成人精品在线| www在线观看播放免费视频日本| 亚洲精品久久久北条麻妃| 北岛玲精品视频在线观看| 欧美激情极品视频| a级精品国产片在线观看| 国产黄色免费观看| 老司机在线视频二区| 亚洲视频福利| 男人用机机桶女人| 中文字幕免费在线看线人动作大片| 无人在线观看的免费高清视频| 上原亚衣加勒比在线播放| 青青草视频网站| 老牛影视av老牛影视av| 潘金莲一级黄色片| 免费黄色片在线观看| 美女视频黄频大全不卡视频在线播放| 蜜臀精品一区二区| 91国内产香蕉| 国产精品日韩精品在线播放| 国产精品久久久免费看| 东方伊人免费在线观看| 一区二区三区不卡在线观看| 可播放的18gay1069| h片视频在线观看| 国产精品7m凸凹视频分类| 国产视频观看一区| 999精品嫩草久久久久久99| 国产精品自在在线| 国产精品久久久久久在线| 国模gogo一区二区大胆私拍| 一卡二卡三卡视频| 国产激情视频一区二区三区欧美| 97视频人免费观看| 精品少妇一区二区三区在线| 欧美午夜一区二区三区| 欧美成人观看免费全部完小说| 中文在线网在线中文| 国产精品啪啪啪视频| 午夜剧场在线免费观看| 成人免费在线网址| 石原莉奈一区二区三区在线观看| 日日摸夜夜爽人人添| 狠狠色噜噜狠狠狠狠97| 午夜伦伦电影理论片费看| 麻豆传媒免费在线观看| 欧美精品免费看| www.久久东京| 久久久99免费| 亚洲成人一区二区| 欧美日韩一区二区在线观看视频| 高清国产福利在线观看| 黄色在线免费网站| 亚洲人成网站777色婷婷| 久久免费激情视频| 亚洲视频在线播放免费| 国产精品爱久久久久久久小说| 日韩欧美你懂的| 人人在线视频| 国产精品电影| 亚洲日本一区二区三区在线观看| 欧美一区=区三区| 日本10禁啪啪无遮挡免费一区二区| 欧美日韩国产va另类| 日韩三级视频在线播放| 日日夜夜天天综合入口| 欧美jizz18性欧美| 99热免费在线| 国产成人免费看一级大黄| 国产女同91疯狂高潮互磨| 国产亚洲欧美一区二区三区| 成人高清在线观看免费| 视频国产一区二区三区| 久久久久久久久综合影视网| 欧美男人操女人视频| 久久久久99人妻一区二区三区| 色中文字幕在线观看| 国产日韩精品一区二区| 午夜日韩av| 玖玖精品在线视频| 日韩综合在线视频| 色琪琪原网站亚洲香蕉| 亚洲精品人成电影网| 欧美视频不卡| 国产日韩欧美综合在线| 午夜剧场免费在线观看| 欧美77777免费视频| 牛牛澡牛牛爽一区二区| 国产精品剧情一区二区在线观看| 精品国产免费人成电影在线观看四季| 国产精品无码在线播放| 日韩精品一区二区三区第95| 欧美波霸videosex极品| 成人免费一区二区三区视频| 成人妇女免费播放久久久| 婷婷色综合网| 好看的中文字幕在线播放| 日本不卡在线视频| 亚洲欧美日韩一区二区三区在线| 日本三级久久| huan性巨大欧美| 91情侣偷在线精品国产| 亚洲男人天堂网| 三级在线免费观看| 欧美日韩中文字幕日韩欧美| 欧美在线观看禁18| 亚洲美女精品久久| 在线免费观看日韩av| 345成人影院| 曰本大片免费观看视频| 2023国产精品| 一区二区三区波多野结衣在线观看| 大陆极品少妇内射aaaaaa| 中文字幕亚洲二区| 四虎成人精品| 99精品国产一区二区| 国产欧美日韩中文| 亚洲AV无码精品色毛片浪潮| 不卡视频观看| 偷拍视频一区二区三区| 懂色av一区二区三区在线播放| 亚洲自拍欧美精品| 亚洲欧美综合乱码精品成人网| 欧美日韩激情一区二区| 成人福利视频在线看| 四虎精品免费视频| 少妇高潮露脸国语对白| www.av免费| 国产69精品久久久久99| 亚欧成人精品| 亚洲欧美精选| 欧美午夜一区二区三区免费大片| 三级毛片电影网站| 日韩欧美一区二区在线视频| 成人看片网站| 天堂а√在线中文在线新版| 在线观看视频一区二区| 理论片中文字幕| 精品亚洲一区二区三区四区五区| 国产激情在线观看视频| 成人美女视频在线观看| 国产成人香蕉在线视频fuz| 欧美丰满日韩| 啊啊啊啊啊啊啊视频在线播放| 亚洲日本欧美天堂| 欧美激情女人20p|