bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

c語言數(shù)據(jù)存儲加深練習-創(chuàng)新互聯(lián)

原碼反碼補碼詳解

成都創(chuàng)新互聯(lián)公司是一家專注于成都網站設計、做網站與策劃設計,陽春網站建設哪家好?成都創(chuàng)新互聯(lián)公司做網站,專注于網站建設10余年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:陽春等地區(qū)。陽春做網站價格咨詢:18982081108

整型提升詳解

菜單
    • 例題1:
    • 例題2:
    • 例題3:
      • 例1 解析:
      • 例2解析:
      • 例3解析:

例題1:
//輸出什么?
#includeint main()
{char a= -1;
  signed char b=-1;
  unsigned char c=-1;
  printf("a=%d,b=%d,c=%d",a,b,c);
  return 0;
}
例題2:
//輸出什么
#includeint main()
{char a = -128;
  printf("%u\n",a);
  return 0;
}
例題3:
#incluudeintmain()
{int i= -20;
unsigned  int  j = 10;
printf("%d\n", i+j);
}
例1 解析:
#includeint main()
{char a = -1;//賦值運算是從右往左算,所以先寫出-1的原碼,在轉換成補碼,在發(fā)生截斷,最終才存儲到a當中。
	//10000000000000000000000000000001    -1的原碼
	//11111111111111111111111111111110    -1的反碼
	//11111111111111111111111111111111    -1的補碼
	//11111111   最終char是一個字節(jié),只能存儲8個比特位,所以要發(fā)生截斷,最終a的二進制如前面    
	signed char b = -1;	
	//11111111     b的最終二進制
	unsigned char c = -1;
	//0000000000000000000000000000001
	//1111111111111111111111111111110   注意:無符號數(shù)按位取反時,直接0變 1,1變0.即可,因為所有位都是數(shù)據(jù)位
	//1111111111111111111111111111111
	//11111111  c的最終二進制
	//注意,a,b,c雖然最終的二進制是一樣的,但最高位的1意義不一樣,a,b的最高位為符號位,c是數(shù)據(jù)位
	printf("a=%d,b=%d,c=%d", a, b, c);//%d是以有符號的整型的原碼打印(它會看你整型提升后的最高位,并把它當做符號位,并且要進行原碼反碼補碼的轉換。),上述的所有char類型全部要發(fā)生整型提升
	//11111111 a的二進制
	//11111111111111111111111111111111  a整型提升后的補碼
	//11111111111111111111111111111110  a的反碼
	//10000000000000000000000000000001  a的原碼
	//b也是這樣做
	//c的二進制 11111111
	//00000000000000000000000011111111 c整型提升后的補碼
    //c整型提升后最高位為0,是正數(shù),原碼反碼補碼相同。
	return 0;
}// 運行結果a=-1,b=-1,c=255
例2解析:
#includeint main()
{char a = -128;
  //10000000000000000000000010000000 -128的原碼
  //11111111111111111111111101111111 -128的反碼
  //11111111111111111111111110000000 -128的補碼
  //10000000  a的二進制
  printf("%u\n",a);//%u是打印無符號十進制數(shù)
  //1111111111111111111111111000000 整型提升后a的二進制序列,(補碼)
  //以%u形式打印,它會認為補碼最高位的1為數(shù)據(jù)位(直接當正數(shù)處理),所以a是正數(shù),原碼反碼補碼相同
  return 0;
}//運行結果a=4294967168
例3解析:
#includeint main()
{int i = -20;
	//10000000000000000000000000010100     -20的原碼
	//11111111111111111111111111101011       反碼
	//11111111111111111111111111101100       補碼
	unsigned int j = 10;
	//00000000000000000000000000001010    正數(shù)的原碼反碼補碼相同 
	printf("%d\n", i + j);
	//11111111111111111111111111101100    i的補碼
	//00000000000000000000000000001010    j的補碼
	//11111111111111111111111111110110     i+j的補碼
	//11111111111111111111111111110101    i+j的反碼
	//10000000000000000000000000001010    i+j的原碼
	//在內存中用補碼計算,然后以原碼的形式打印
}

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

分享名稱:c語言數(shù)據(jù)存儲加深練習-創(chuàng)新互聯(lián)
標題URL:http://vcdvsql.cn/article34/jghse.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化網站改版微信小程序網頁設計公司網站營銷電子商務

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網站制作