日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C 语言中的内存分析

發布時間:2023/12/4 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C 语言中的内存分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C 語言中的內存分析

一、進制

我們需要了解的4中進制:二進制、八進制、十進制、十六進制

#include <stdio.h>

int main()

{

???????? //默認情況下是十進制

???????? intnumber = 12;

???????? //二進制

???????? intnumber2=0b1100;

???????? //八進制

???????? intnumber3 = 014;

???????? //十六進制

???????? intnumber = 0xc;

???????? return0;

}

Printf以不同進制形式輸出的類型:

%d 通常以十進制輸出一個整數

%o通常以八進制輸出一個整數

%x通常以十六進制輸出一個整數

%u 以不帶符號的十進制輸出整數

%c 輸出一個字符

%s 輸出一個或者多個字符串

%f 以小數形式輸出單雙度數值,默認情況下是6

%e移標準指數形式輸出單雙精度數,數字部分小水位數為6

任何數據在內存中都是以二進制的形式存在的!

??????????????? 一個int類型數據占據4個字節、32bit

例如:

??????????????? Int number=12

????????????? 在內存中顯示為:

????????????? 0000 ?0000 ?0000 ?0000?0000 ?0000 ?0000?1100

N位二進制的取值范圍:

2位二進制位的取值范圍:0~3

3位二進制位的取值范圍:0~7

N為二進制位的取值范圍:2n-1

?

把一個整數以二進制輸出的代碼測試:

Void putBinary(intn)

{

????????????? Int bits = sizeof(n)*8-1;

????????????? While(bite>=0){

????????????? Printf(“%d”,n>>bit&1);

????????????? If( bits%4==0)

????????????? Printf(“ ”);

}

Printf(“\n”);

}

二、數據類型的取值范圍:

Char-----1個字節---8bit---取值范圍:-27~27-1

Int-------4個字節---32bit---取值范圍:-231-231-1

Float----4個字節----32bit---取值范圍:3.4e-38~3.4e38||-3.4e38~-3.4e-38

Double---8個字節---64bit—取值范圍:1.7e-308~1.7e308||-1.7e308~1.7e-308三、類三、型說明符:

Int --------4個字節-----------%d

short --------4個字節-----------%d

long --------8個字節-----------%ld

long long ----8個字節-------%lld

signed有符號:正數、0、負數

unsigned無符號:包含0、正數

signedunsigned的區別:signed最高位要當做符號位;unsigned最高位不要當作符號位。

四、位運算

1. &按位與

例如:

9&5

?????? ?把數據轉化成二進制進行與運算

2. |按位或

例如:

9|5

?把數據轉化成二進制進行或運算

3. ^按位異或:只要兩個進制位不行同就為1相同就位0

例如:

9^5

?????? 把數據轉化成二進制進行異或運算

????????????? N^N 結果為0

????????????? 任何數值跟0異或得到原來的數值?????????

4. ~按位去反

?????? 例如:

???????????????????? ~9

?? 9的所有二進制位都進行取反;

5.<<左移

?????? 把某個整數的二進制位全部往左移動N位高位丟棄低位補0

6. >>右移

?????? 把某個整數的二進制位全部往右移動N位保持符號位不變

五、char

//單引號‘’只能括注單字節的字符

//Char c=’;這個是錯誤的寫法

//char c = “A ”;這個也是錯誤寫法

//Char c = A ; 這個也是錯誤的寫法

Char可以當作整數來用,它的取值范圍為:-128~127

轉義字符:

\n??? ?????????????換行?? ??????????????ASCII的值為10

\t????????????跳到下一個tab位置?????? ?ASCII的值為9

\\?? ??????????代表一個反斜線字符 ??????ASCII的值為92

\’??? ????????????? 代表一個單引號字符????? ?????????? ASCII的值為39

?

?

將一個字母的大小寫進行轉換

大寫upper

小寫lowwer

Char upper(char c)

{

?????? If(c>=’a’&&c<=’z’)

?????? ?????? return ?c-32;

?????? elseif

?????? ?????? return ?c;

}


轉載于:https://blog.51cto.com/jeason/1594078

總結

以上是生活随笔為你收集整理的C 语言中的内存分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。