實用乾貨下載:關注我們「單片機系列」,回復「資料」獲取單片機相關資料。一起走向智能工業革命時代,單片機DIY、基於c語言/彙編的編程。持續更新中······
最新隆重推出「作品定製」,定製方法點擊菜單欄「DIY」即可
進位,看似很簡單的東西,但很多同學還是不能徹底理解。這裡先簡單介紹一些注意事項,然後還是從實驗中講解會比較深刻。
1) 十進位就不多說了,逢十進位,一個位有十個值: 0 ~ 9,我們的生活中到處都是它的身影。二進位就是逢二進位,它的一個位只有兩個值:0 和 1,但它卻是實現計算機系統的最基本的理論基礎,計算機(包括單片機)晶片是基於成萬上億個的開關管組合而成的,他們每一個都只能有開和關兩種狀態,再難找出第三個狀態了(不要辯解半開半關這個狀態,它是不穩定態,是極力避免的),所以他們只能對應於二進位的 1 和 0 兩個值,而沒有 2、3、4......,理解二進位對於理解計算機的本質很有幫助。書寫二進位數據時需加前綴 0b,每一位的值只能是 0 或 1。十六進位就是把 4 個二進位位組合為一位來表示,於是它的每一位有 0b0000 ~ 0b1111 共 16 個值,用 0 ~ 9 再加上 A ~ F(或 a ~ f)表示,那麼它自然就是逢十六進位了,它本質上同二進位是一樣的,是二進位的一種縮寫形式,也是我們程序編寫中常用的形式。書寫十六進位數據時需加前綴 0x,下表是三種進位之間的對應關係。
2) 對於二進位來說, 8 位二進位我們稱之為一個字節,二進位的表達範圍值是從0b00000000 ~ 0b11111111,而我們在程序中用十六進位表示的時候就是從 0x00 到 0xFF,這裡教大家一個二進位轉換十進位和十六進位的方法,二進位 4 位一組,遵循 8/4/2/1 的規律比如 0b1010,那麼從最高位開始算,數字大小是 8*1+4*0+2*1+1*0 = 10,那麼十進位就是 10,十六進位就是 0xA。尤其二進位轉十六進位的時候,十六進位一位剛好是和二進位的 4 位相對應的,這些大家不需要強行記憶,多用幾次自然就熟練了。
3) 對於進位來說,只是數據的表現形式,而數據的大小不會因為進位表現形式不同而不同,比如二進位的 0b1、十進位的 1、十六進位的 0x01,他們本質上是數值大小相等的同一個數據。我們在進行 C 語言編程的時候,我們只寫十進位和十六進位,那麼不帶 0x 的就是十進位,帶了 0x 符號的就是十六進位。
長按識別圖中二維碼關注我們
「單片機系列」
看完的同時,請分享到朋友圈
每天更新單片機各種知識,電子
製作DIY,及電子行業最新資訊
衷心的感謝您的支持
資料來源於網絡,如有侵權告知刪除