進製:表數方式,是幾進製,就逢幾進一
十進位制 : 逢十進一 ( 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 申請空間 這個區,由程式設計師申請後使用,使用完了,需要手動釋放。否則,會造成記憶體洩漏。一般由程式設計師分配釋放,若程式設計...