A. C語言源碼生成目標文件後的二進制碼是原碼,反碼,還是補碼
計算機中的二進制碼形式特指數值的二進制碼形式。
目標文件中包含有字元串、指令、相關數據等,其中數據部分大多是用補碼形式保存的。其它部分沒有這樣的概念。
說大多是因為有些計算機體系不用補碼形式保存數據。
至於計算機倒底何時用原碼、反碼、補碼,我想是樓主對碼制有所誤解。
採用何種碼制與CPU相關。比如I386體系,負數用補碼表示,C語言編譯器在遇到負數時會轉化成補碼形式。
B. 請問編譯程序和解釋程序是什麼意思什麼是編譯器、什麼是解釋器
編譯和解釋是從源程序到可執行程序轉換的兩種方法。編譯,是在源程序完成後,先轉換成中間代碼,然後再轉換成二進制代碼,完成後,每次執行,都直接執行這個二進制代碼。一次轉換完成。
而解釋程序的執行不同,他在執行時,是一次讀入一條源代碼,然後分析轉換成二進制代碼,執行這條語句,然後再讀入一條源代碼,再轉換,再執行。是一邊轉換一邊執行。編譯器和解釋器就是完成編譯和解釋工作的一個軟體。
C. c語言是如何編譯成二進制
計算機專業有門課程叫做《編譯原理》,詳細講述了怎麼把高級語言翻譯成匯編語言活著機器能看懂的二進制代碼。
簡單的說,C語言是通過編譯器翻譯成二進制代碼的(就像英譯漢的軟體把英文翻譯成漢語一樣。把高級語言翻譯成機器語言過程很復雜,學了編譯原理就懂了)。還有編譯器可以用各種語言編寫,C語言可以被用C語言寫的編譯器來編譯。
D. java編譯器將源程序編譯生成的位元組碼是什麼
位元組是電腦里的數據量單位
位元組碼(Byte-code)是一種包含執行程序、由一序列 op 代碼/數據對組成的二進制文件。位元組碼是一種中間碼,它比機器碼更抽象。它經常被看作是包含一個執行程序的二進制文件,更像一個對象模型。位元組碼被這樣叫因為通常每個 opcode 是一位元組長,但是指令碼的長度是變化的。每個指令有從 0 到 255(或十六進制的: 00 到FF)的一位元組操作碼,被參數例如寄存器或內存地址跟隨。
在計算機中,數據只用0和1兩種表現形式,(這里只表示一個數據點,不是數字),一個0或者1佔一個「位」,而系統中規定8個位為一個位元組,用來表示常用的256個字母、符號、控制標記,其中用一個位來進行數據校驗,其他七個位用來記錄數據。
按計算機中的規定,一個英文的字元用一個位元組,(如,."':;avcAVC都佔用一個位元組),而一個漢字以及漢字的標點符號、字元都佔用兩個位元組,(如,。「」:;AVCavc他們就得佔用兩個位元組)。
另外,他們是沒有辦法比較的,只能講一個字元佔用一個位元組,N個字元佔用N個位元組。
K是千 M是兆 G是吉咖 T是太拉 8bit(位)=1Byte(位元組) 1024Byte(位元組)=1KB 1024KB=1MB 1024MB=1GB 1024GB=1TB
java中,位元組碼是CPU構架(JVM)的具有可移植性的機器語言