求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

二進制轉換檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
二進制轉換

來自 網絡 的圖片

二進制轉換隨着計算機的普及,二進制開始頻繁應用於日常生活中。其中包括二進制數據的運算甚至關於機器語言的轉換。但人們在生活中更熟悉十進制,如何將二進制進行轉換變成十進制數,或者與之息息相關的八進制數和十六進制數就是本詞條討論的話題。

簡介

一種新處理器的流行,離不開相應軟件的支持。開發新的處理器可能會因為失去相應軟件的支持而影響其推廣應用和市場前景;另一方面,得不到廣泛應用和一定市場份額的處理器也很難得到豐富的軟件支持。這種處理器和支持軟件之間相互鉗制的關係,既使得新處理器的設計不得不考慮兼容老處理器,也阻礙了新處理器的推出。在這種情況下,研究如何把支持老處理器的軟件移植到新的處理器上,使新的處理器從誕生之初就有豐富的軟件,不僅對軟件重用有重大意義,更可以開闊處理器研發的思路,促進新處理器的創新。

評價

第一種方法,顯然無法利用新處理器的一些先進特性,失去了開發新處理器的意義,並且增加了新處理器的硬件複雜度,甚至還會影響原有代碼的執行效率;第二種方法可以達到很好的效率,但並不總是可行,因為有些程序已經沒有源代碼,有些程序依賴於共享代碼庫,而這些共享代碼以目標代碼形式出現,不一定能得到源碼,有些源程序語言沒有編譯到新指令集的編譯器,此外操作系統的差異還可能使得只有修改源代碼才能重新編譯這些例程(比如與圖形相關的代碼)。因此第三種方法,稱之為二進制翻譯(Binary Translation)應運而生。它是一種直接翻譯可執行二進制程序的技術,能夠把一種處理器上的二進制程序翻譯到另外一種處理器上執行。它使得不同處理器之間的二進制程序可以很容易地相互移植,擴大了硬件/軟件的適用範圍,有助於打破前面提到的處理器和支持軟件之間互相掣肘影響創新的局面。二進制翻譯也是一種編譯技術,它與傳統編譯的差別在於其編譯處理對象不同。傳統編譯處理的對象是某一種高級語言,經過編譯處理生成某種機器的目標代碼;二進制翻譯處理的對象是某種機器的二進制代碼,該二進制代碼是經過傳統編譯生成的,經過二進制翻譯處理後生成另一種機器的二進制代碼。按照傳統編譯程序前端、中端和後端的劃分,我們可以理解為二進制翻譯是擁有特殊前端的編譯器。[1]

參考文獻