解析:
char類(lèi)型的取值范圍是-127~128;
unsigned char類(lèi)型的取值范圍是:0~255;
所以題目中:unsigned char a
與unsigned char b
是放得下200與100的。
a的二進(jìn)制為:11001000;
b的二進(jìn)制為:01100100;
a的補(bǔ)碼為:00000000000000000000000011001000;
b的補(bǔ)碼為:00000000000000000000000001100100;
a+b補(bǔ)碼為:0000000000000000000000100101100;
以%d
的形式打印a+b,就會(huì)打印出 上面計(jì)算出a+b的補(bǔ)碼轉(zhuǎn)換成原碼的結(jié)果(正數(shù)的原碼=反碼=補(bǔ)碼);
所以a+b以%d
打印出來(lái)的應(yīng)該是300
;
題目中c=a+b,由于c的類(lèi)型是unsigned char
,所以a+b的補(bǔ)碼放到c會(huì)發(fā)生截?cái)啵?br />所以截?cái)嗪蟮腸的補(bǔ)碼為00101100;
以%d
的形式打印:c進(jìn)行整型提升:00000000000000000000000000101100
所以c以%d
的形式打印出來(lái)的應(yīng)該是:44
在編譯器中驗(yàn)證結(jié)果:
大端(存儲(chǔ))模式,是指數(shù)據(jù)的低位字節(jié)保存在內(nèi)存的高地址中,而數(shù)據(jù)的高位字節(jié),保存在內(nèi)存的低地址中;
小端(存儲(chǔ))模式,是指數(shù)據(jù)的低位字節(jié)保存在內(nèi)存的低地址中,而數(shù)據(jù)的高位字節(jié),,保存在內(nèi)存的高地址中;
題目中unsigned int a= 0x1234;
int是4個(gè)字節(jié),補(bǔ)齊a應(yīng)是0x 00 00 12 34
:
把a(bǔ)強(qiáng)制類(lèi)型轉(zhuǎn)換成unsigned char
后,由于int–>char發(fā)生截?cái)?
所以最后答案選A
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧