本文小編為大家詳細(xì)介紹“C++中如何實(shí)現(xiàn)int類(lèi)型按字節(jié)打印輸出”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“C++中如何實(shí)現(xiàn)int類(lèi)型按字節(jié)打印輸出”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
創(chuàng)新互聯(lián)建站專(zhuān)業(yè)為企業(yè)提供東勝網(wǎng)站建設(shè)、東勝做網(wǎng)站、東勝網(wǎng)站設(shè)計(jì)、東勝網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、東勝企業(yè)網(wǎng)站模板建站服務(wù),十年東勝做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。代碼如下:
#include<iostream> using namespace std; int main() { int i = 128; cout << sizeof(int) << endl; unsigned char* cc = (unsigned char*)&i; for (int j = 0; j < 4; j++) printf("cc: %p \t *cc: %x\n", cc + j, *(cc + j)); system("pause"); return 0; }
輸出:
以上是正確代碼
以下對(duì)代碼做改變
unsigned char* cc = (unsigned char*)&i; 改為 char* cc = ( char*)&i; //代碼如下: #include<iostream> using namespace std; int main() { int i = 128; cout << sizeof(int) << endl; char* cc = ( char*)&i; for (int j = 0; j < 4; j++) printf("cc: %p \t *cc: %x\n", cc + j, *(cc + j)); system("pause"); return 0;
輸出:
輸出為什么是ffffff80呢?
char類(lèi)型是有符號(hào)字符型變量還是無(wú)符號(hào)字符型變量,要看編譯器是怎么定義的,不能想當(dāng)然。char變量為一個(gè)字節(jié),8bit,sighed char表示的范圍是-128~127,(-128在內(nèi)存中二進(jìn)制表示為1000 0000,127在內(nèi)存中二進(jìn)制表示為0111 1111),unsighed char表示的范圍是0~255.
給 i 賦值128,十六進(jìn)制0x80,二進(jìn)制1000 0000,相當(dāng)于是給char變量賦值-128.
printf()函數(shù)的參數(shù)%x其含義為Unsigned hexadecimal integer;即輸出一個(gè)十六進(jìn)制的整型,而在代碼中,%x對(duì)應(yīng)的是char類(lèi)型,所以此時(shí)printf()函數(shù)會(huì)將char類(lèi)型隱式轉(zhuǎn)換為int類(lèi)型。
對(duì)于int類(lèi)型的對(duì)象,其值為-128,則其對(duì)應(yīng)的內(nèi)存值是0xFFFFFF80
所以,在printf()函數(shù)中,char類(lèi)型隱式轉(zhuǎn)換成int類(lèi)型后,輸出就會(huì)變成4字節(jié)的0xFFFFFF80
讀到這里,這篇“C++中如何實(shí)現(xiàn)int類(lèi)型按字節(jié)打印輸出”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁(yè)標(biāo)題:C++中如何實(shí)現(xiàn)int類(lèi)型按字節(jié)打印輸出-創(chuàng)新互聯(lián)
路徑分享:http://jinyejixie.com/article4/dedoie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站導(dǎo)航、企業(yè)建站、Google、網(wǎng)站排名、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容