程式設計先導 之 CPU 二進位制 記憶體

2021-09-22 20:17:00 字數 1712 閱讀 5622

一、cpu

cpu 是**處理器,是電腦的大腦。

cpu 負責控制,執行。

cpu 內部四大元件:暫存器、運算器、控制器、時鐘。

物理cpu就是計算機上實際配置的cpu個數。

cpu核數就是指cpu上集中的處理資料的cpu核心個數,單核指cpu核心數乙個,雙核則指的是兩個。

如果計算機有兩個物理cpu,每個cpu是雙核,那麼計算機就是四核的。

當計算機沒有開啟超執行緒時,邏輯cpu的個數就是計算機的核數。而當超執行緒開啟後,邏輯cpu的個數是核數的兩倍。

邏輯cpu的數量就是平時稱呼的幾核幾執行緒中的執行緒數量(一般情況下可以認為n核n*2執行緒)。

linux下如何檢視幾核幾程序:

cpu等級:32位-----i686;64位------x86_64

cpu的頻率 == 外頻 (與外部頻率協調一致) × 倍頻(cpu內部加速工作效能的乙個倍數)

cpu一次能傳輸的資料量與匯流排有關:

二、記憶體

記憶體就相當於一棟樓房

記憶體的邏輯結構:

三、二進位制儲存

二進位制、八進位制、十進位制、十六進製制之間的轉換:

在c語言中,short、int、long 都可以帶上正負號:short a1 = -10 ;short a2 = -0x2dc9。因為short、int 和 long 型別預設都是帶符號位的,符號位以外的記憶體才是數值位。unsigned int表示不帶符號,全部位數都用來儲存數值。

為什麼要創造補碼的概念? 因為二進位制中只有加法而沒有減法,直接正負相加得到的是錯誤的結果,創造補碼是因為剛好補碼的運算是正確的。

資料在記憶體儲存時,首先確定長度(長度能決定取值範圍),如8位、16位、32位、64位。 其次要確定該數值全為正數(unsigned)還是有負數,如果只考慮正數,那麼各種型別能表示的數值範圍(取值範圍)就比原來小了一半,因為最高位用作符號位。

正數的補碼是他本身,負數的補碼為其正數值取反加1.

二進位制中沒有 -0,所以char的取值範圍是 -128~127,負數取值比正數多1

拿8位舉例:1000 0000 不代表 -0,而是代表 -128. 如果按照unsigned char 取值,128的二進位制表示為 1000 0000,

溢位的概念相當於時鐘分針的正撥與逆撥,都能到你想要的時間點上。

二進位制運算:加 減 乘 除 取餘 或 與 非 (左移n位,就乘 2^n ; 右移要考慮負數的概念)

float在記憶體中儲存,存在微小偏差。

1位元組 byte = 8位 bit ;1k=1024byte ;1m=1024k ;1g=1024m

基本資料型別所佔位元組數:char:1位元組 int:4位元組 float:4位元組 double:8位元組

如何檢視本機資料型別所佔位元組:

英文本母(不分大小寫,包括標點)佔乙個位元組;中文漢字(包括標點)佔兩個位元組;所以常用英文本元8位二進位制稱為一位元組;

1個位元組等於8個二進位制位,最多表示0到256; 1個位元組佔2個16進製制位,一位16最多隻表示到16,即f表示16,要表示到256,就還需要第二位;

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...

判斷二進位製半整數(二進位制)

10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借1000塊錢,然後tokitsukaze大佬說,借你1024吧,湊個整數。沒錯在2進製下1024是 二進位制整數 乙個正整數滿足其值為2的k次方 k為正整數 我...

mysql二進位制 MySql二進位制連線方式詳解

使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 mysql 命令提示視窗,你可以...