C 字串流的字元陣列,計算機是怎麼將字串區分成整數的

時間 2021-08-30 09:11:42

1樓:

kaixingui2012的答案很正確.

我補充點:1.首先實體記憶體由一個一個的bit位組成,這些bit位只能儲存高低電平也就是01,無所謂字元還是int.

2.現實中的任何資料都可以轉化為一定結構的01組合. 3.

根據以上兩點我們可以把記憶體中的一堆01轉化為現實中的資料,比如整數,字元,而具體轉化為哪種資料要看我們的需要,比如4b的記憶體,我們可以轉化為4個字元,也可以轉化為1個int.

給你舉個例子,現有4個位元組的字元陣列a,我們要把int型資料0x01010101(十六進位制)存入其中,首先轉化為ascii碼,0x01的ascii碼就是1,所以直接賦值a[0]=1;a[1]=1;a[2]=1;a[3]=1

ps:老譚的話為了給新手降低難度,結果越說越糊塗,我只抓住一點,任何資料表示成01的二進位制後,我可以把它放在任何記憶體中.反之,記憶體中的01組合,我可以解釋成不同的資料.

2樓:匿名使用者

第一:這是一個很好的辦法 實現從一個 數字串中 取出多個整數 來。你學會使用就好

第二:char c[50]="12 34 65 -23 -32 33 61 99 25 44";//這明顯只是一個字串,沒錯,它存的就是字串!而且每個陣列元素位都一個字元。

第三:究竟腫麼就變成整數了?

istream strin(c,sizeof(c));

for(i=0;i<10;i++)

strin>>a[i];//就這樣就變成了。

這裡的關鍵是輸入流中對》的過載實現的。因為a[i]是個整型變數,strin>>a[i];在操作時,就會將讀到的數字 字串 轉換成整型來儲存到變數中去!

3樓:匿名使用者

由於程式將字串c當成輸入,將字串輸入後藉助標準輸入程式(由strin>>a[i];啟動)將一個一個的整數分次輸入到陣列中,這個程式是由iostream庫函式提供的,與你用鍵盤輸入這些整數時處理過程是一樣的。

c++ 16進位制字串如何流轉為字元陣列。

4樓:雨諾與諾

首先擷取,2個擷取一次

讓後把字元轉換為10進位制的整數,如ac

int sum=0;

if(c==‘a’)

再賦值給陣列。

用C 對字串的排序,C 對字元陣列排序

你都快畢業了而且學的東西還蠻多的,像這樣的問題還發網上求救我真無語,自己做不出來嘛?感覺自己什麼也不會,感覺好迷茫,什麼語言只是懂一點點,是你自己沒有努力吧,如果想趕快就業那不妨學學php吧反正你學過mysql 有c語言基礎php上手很快 vc6.0下編譯執行,結果無誤。include includ...

C語言,字串陣列的輸出,C語言 如何定義字串陣列

自我程式設計 getch 這句多餘,只是列印而已不需要這個函式接收字元。printf s n ch 0 printf s n ch 1 printf s n ch 2 這3句列印,第2個傳參和printf函式形參型別不一致,函式需要的是char 而你給的是char 12 執行可以,但會有警告。你想要...

C 對字元陣列排序,c 中對於幾組字串的升序或降序排序怎麼做???

風若遠去何人留 與其它排序類似,字元陣列排序也是根據一定演算法,如冒泡法,將各個項值進行比較,並通過賦值交換位置即可。對於字元陣列,賦值和比較均與一般物件或變數不同。1 字元陣列比較 需要呼叫strcmp函式。int strcmp char s1,char s2 按照ascii碼比較,當s1和s2相...