开始看 汇编语言程序设计
生活随笔
收集整理的這篇文章主要介紹了
开始看 汇编语言程序设计
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
數(shù)據(jù)存儲方式 位&字節(jié)
-
計算機底層只能存儲二進制信息,0,1,任何信息都是通過連續(xù)0,1,來表示的,用固定的規(guī)則對固定的串長可定這些串長的真實含義.最小的物理單位 是位,一個位可以存放0,或1.這個值得的含義取決它的類型定義,比如用來判斷時,0表示假,1表示真.一個位表示的信息很有限,但多個連續(xù)的位就能夠表 示很多有用的東西,
-
比如用8個位可已表示英文任意字符,8個位也是一個字節(jié)的基數(shù).計算機的內(nèi)部有大量連續(xù)的的位,位是最小的單位,可以想象一個充滿格子的空間,一個 格子就是一個位,為了更方便管理使用這些位,每隔8個位取一個編號,對于8個位的新單位就是字節(jié),也就是計算機的每個字節(jié)都有它唯一的編號.
類型串長
- 用固定的串長表示一個元素,在用若干個這樣的串長就可以表示任何信息,比如英文就是由26個字母大小寫,各種符號構(gòu)造各種英文文檔,我們就可以用一個固定的串長表示出它的元素,
就像C語言支持的多種類型一樣char,int,float, 同樣的位元素可以以不用的方式取讀,
-
比如”abc”[a->97->01100001][b->98->01100010][c->99->01100011]最后內(nèi)部形式就想這樣011000010110001001100011等價于abc.可以看出a的存儲形式就是97的二進制,那如何表示97呢?,
這里是靠類型定義與串長來確定的,當(dāng)把這個值給整型類型讀取時它被表示成數(shù)字,用結(jié)構(gòu)體讀取又是另一種信息了.
例子
char ch = 'a';/*字符*/ printf("%c\n", ch);/*數(shù)字*/ printf("%d\n", ch); char類型的串長是一個字節(jié),當(dāng)給它2個字節(jié)的
數(shù)據(jù),它只取低位的那個字節(jié),
例子
#include <stdio.h> int main(int argc, char const *argv[]) {int a = 0X161;printf("%c\n", a);return 0; }這里用char讀int類型因為char是一個字節(jié)的固定串長,如果用int讀double類型也只能讀取前半部分,
轉(zhuǎn)載于:https://my.oschina.net/dengwo/blog/544152
總結(jié)
以上是生活随笔為你收集整理的开始看 汇编语言程序设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 67、Fragment实现Tab
- 下一篇: objc_msgSend() 使用报错解