嵌入式每日學習心得2017 07 13

2021-08-03 20:10:23 字數 2329 閱讀 1440

進製:表數方式,是幾進製,就逢幾進一

十進位制 : 逢十進一    ( 9  ~  0)     (123)10

百  十  個

1    3  0

二進位制: 逢二進一  

(1 ~ 0)      (  )2

八進位制: 逢八進一

(7 ~ 0)    

0123 

八 -》 十    3*8^0+2*8^1+1*8^2 

八 -》  二   001 010 011

十六進製制: 逢十六進一

(f ~ a   9 ~ 0) 

0x321     0x321

-> 十    1*16^0+2*16^1+3*16^2

-> 二    0011 0010 0001

-> 八    001 100 100 001      01441

十進位制   -》  二進位制

23  -》  0111 1011

123/2 = 61   ... 1  1*2^6

61/2  = 30   ... 1  1*2^5

30/2  = 15   ... 0  0*2^4

15/2  = 7    ... 1  1*2^3

7/2   = 3    ... 1  1*2^2

3/2   = 1    ... 1  1*2^1

1/2   = 0    ... 1  1*2^0

<>  表示對應語言的標準庫

「」表示使用者自定義的函式庫

區別:主要體現在,編譯的時候,編譯器查詢函式的宣告的過程。

< >   先找 標準庫 -》  鏈結庫 -》 其他庫函式庫(當前路徑)

「 」 先找 (當前路徑)-》標準庫 -》  鏈結庫 

效率問題:查詢的速度

運算子(操作符,operator):實現運算功能的一些符號

運算元:參與運算的資料

從運算功能分類:

算術運算子:+, -, *, /, -(負號), %(模運算子), ++(自增), --(自減)

比較運算子:>, >=, <, <=, ==, !=,比較運算子的運算結果是乙個布林(邏輯)值,即真或假

邏輯運算子:!(邏輯非), &&(邏輯與), ||(邏輯或),運算結果是乙個邏輯值

位運算子:~(按位取反), &(按位與), |(按位或), ^(按位異或,相同為0,相異為1), >>(按位右移), <<(按位左移).  注意位運算子的運算元只能為整數型別或字元型別

條件運算子:(運算元1)?(運算元2):(運算元3)

賦值運算子:=,其運算結果就是其左值,運算效果是將右值賦給左值

復合賦值運算子:+=, -=, *=, ~=, &=等

逗號運算子:,,其運算結果為右運算元

四捨六入五單進

從所帶運算元的個數分類:

一元(單目)運算子:-(符號), ++, --, !, ~等

二元(雙目)運算子:+, -, ,等

三元(三目)運算子:?:

按位右移有兩種不同的實現:算術右移(高位填充符號位)和邏輯右移(高位填充0),大多數系統都採用算術右移實現

運算功能是由cpu實現的,cpu從記憶體中取運算元進行運算,並將運算結果寫回記憶體

cpu:central process unit,**處理器,由運算器和控制器構成,負責運算和控制的功能,它是計算機的核心,如同人的大腦皮層

運算子的優先順序和結合性

賦值運算子是右結合性的,即從右向左依次運算

表示式(expression):由變數、常量、運算子等構成的式子

表示式的值和型別

加密(encrypt):將乙個資料(稱為明文)使用某個方法(稱為加密演算法)進行處理之後得到乙個新的資料(稱為密文)

解密(decrypt):加密的逆過程

金鑰(key):用於加密或解密的資料,如同鑰匙的功能

加密演算法分為對稱加密演算法(加密和解密使用的金鑰相同,例如:異或加密演算法,des,aes等)、非對稱加密演算法(加密和解密使用的金鑰不同,比如:rsa等)和單向加密演算法(只能加密,無法解密,例如:md5,sha等)

md5加密結果是定長的(128位),不同的資料採用md5或sha演算法加密之後的結果不同,所以可以使用加密結果作為這些資料的"指紋"

異或加密演算法:基於異或運算子的運算特點(對於任意兩個整數a和b, 則a^b^b=a成立)

流程控制結構:

1.順序結構:從上往下逐行執行

2.分支結構:根據條件不同程式的執行流程也不同

3.迴圈結構:重複執行若干條語句

分支結構是通過if和switch實現的

**塊(code block):用花括號括起來的若干條語句

分支結構可以巢狀使用,但建議巢狀層次不能太多,否則影響**的可讀性

嵌入式每日學習心得2017 07 08

linux系統管理技術 linux系統的使用方式 1 桌面環境操作 傻瓜化,但功能不夠強大,某些操作效率很低甚至無法完成 2 shell命令 專業高效,但非常不直觀友好,學習難度大,需要記憶命令 要成為unix linux系統骨灰級玩家,必須常用掌握shell命令!常用的桌面環境 gnome kde...

嵌入式每日學習心得2017 07 10

對於linux相關命令,再次作一點總結,今天是上半部分,明天是下半部分 關於布置的小問題 問題1更改使用者名稱 usermod l newusername username 問題2更改主機名 hostname newname vi etc sysconfig network 問題3su和su 的區別...

嵌入式每日學習心得2017 07 18

c語言定義的五大記憶體空間 1.棧區 stack 區域性變數,形參 filo 先入後出 函式的形參和區域性變數,存放在這個區。由編譯器自動分配,自動釋放。2.堆區 heap 申請空間 這個區,由程式設計師申請後使用,使用完了,需要手動釋放。否則,會造成記憶體洩漏。一般由程式設計師分配釋放,若程式設計...