c语言 二进制输出_程序员入门C语言,需要掌握的4个基础知识
C語言是當前所有開發技術中使用較為廣泛的一門語言,從它誕生之日起就深受程序員的喜愛。隨著C語言的普及,后來的開發語言都或多或少地借鑒或遵循了它的一些模式。另外,C語言是計算機編程領域中使用最早的高級語言之一,它的出現推動了軟件行業的迅猛發展。本章將簡要介紹C語言的基本知識,為讀者學習后面的內容打下基礎。
1.1 計算機應用基礎
計算機(computer)是一種能接收和存儲信息,并按照內部存儲的程序對輸入的信息進行加工、處理,然后把處理結果進行輸出的高度自動化的電子設備。本節介紹計算機應用的基礎知識,為讀者學習后面的知識打下基礎。
1.1.1 中央處理器
中央處理器就是我們平常說的CPU(Central Processing Unit),是一塊超大規模的集成電路,是計算機的運算核心和控制核心。它主要包括算術和邏輯單元(Arithmetic and Logic Unit,ALU)和控制單元(Control Unit,CU)兩大部件。此外,它還包括若干個寄存器和存儲器及彼此之間的數據、控制與狀態總線。它與內部存儲器和輸入/輸出設備合稱為電子計算機的三大核心部件。其功能主要是解釋計算機指令以及處理計算機軟件中的數據。計算機的性能在很大程度上由CPU的性能所決定,而CPU的性能主要體現在運行程序的速度上。
1.1.2 位和字節
1.位
位(bit)又稱為比特,bit是Binary System的縮寫。在現實應用中,位有如下兩個含義。
(1)它是計算機專業術語,是信息量單位。二進制數的一位所包含的信息就是一位,如二進制數0100就有4位。在計算機應用中,二進制數“0”和“1”是構成信息的最小單位,稱作“位”或“比特”。
(2)二進制數字中的位是信息量的度量單位,為信息量的最小單位。數字化音響用電脈沖表達音頻信號,“1”代表有脈沖,“0”代表脈沖間隔。如果波形中每個點的信息用4位一組的編碼來表示,則每組編碼有4位。位數越多,表達的模擬信號就越精確,對音頻信號的還原能力越強。
2.字節
字節(Byte),是計算機信息技術中用于存儲容量的一種計量單位,有時在一些計算機編程語言中也表示數據類型和語言字符。
在計算機應用中,由若干位組成1字節。字節由多少位組成取決于計算機的結構。通常來說,微型計算機的CPU多由8位組成1字節,并用此表示一個字符的代碼。構成1字節的8位被看作一個整體,字節是存儲信息的基本單位。在大多數情況下,計算機存儲單位的換算關系如下:
1B=8bit
1KB=1024B
1MB=1024KB
1GB=1024MB
在上述關系中各個單位的具體說明如下:
B:表示字節。
bit:表示位。
KB:表示千字節。
MB:表示兆字節。
GB:表示吉字節。
1.1.3 二進制
二進制是計算機技術中廣泛采用的一種數制,是使用0和1兩個數碼來表示的數。二進制的基數為2,進位規則是“逢二進一”,借位規則是“借一當二”,這是由18世紀德國數理哲學大師萊布尼茲發現的。當前的計算機系統使用的基本上都是二進制系統,數據在計算機中主要是以補碼的形式進行存儲的。計算機中的二進制是一個非常微小的開關,用“開”來表示1,用“關”來表示0。因為它只使用0、1兩個數字符號,所以非常簡單方便,易于用電子方式來實現。
下面介紹如何將十進制數轉換成二進制數。
(1)把正整數轉換成二進制。
轉換原則是除以2取余,然后倒序排列,高位補零。也就是說,將正的十進制數除以2,得到的商再除以2,依次類推,一直到商為0或1,然后在旁邊標出各步的余數,最后倒著寫出來,高位補零即可。例如,將十進制數字42轉換為二進制的步驟為:42除以2得到的余數連在一起為010101,然后將得到的余數倒著排一下就會得到數字42,所對應的二進制數是101010。但是因為在計算機內部表示數的字節單位是定長的(如8位、16位或32位),所以當位數不夠時,需要在高位補零。十進制數42轉換成二進制數的結果是101010,它的前面缺少兩位,因此將十進制數42轉換成二進制數的最終結果是:00101010。
(2)把負整數轉換成二進制。
轉換原則是先將對應的正整數轉換成二進制,最后對二進制數取反,最后將結果加1。以十進制負整數?42為例,將42的二進制形式(00101010)取反得到的結果是11010101,然后再加1的結果是11010110。所以負整數?42轉成二進制數的最終結果是:11010110。
(3)把二進制整數轉換成十進制。
轉換原則是先將二進制數補齊位數。如果首位是0則代表它是正整數;如果首位是1則代表它是負整數。先看首位是0的正整數,補齊位數以后,得到n×2m的計算結果。其中,上標m表示二進制數字的位數,n表示二進制的某個位數。對于二進制數中的各位分別計算n×2m,然后將計算結果相加得到值的就為十進制數。比如將二進制數1010轉換為十進制數的過程如下。
二進制 1 0 1 0
補齊位數 0 0 0 0 1 0 1 0
計算n×2m0×27 0×26 0×25 0×24 1×23 0×22 1×21 0×20
計算結果 0 0 0 0 8 0 2 0
各位求和結果 10
所以將二進制數1010轉換為十進制數的結果是10。
如果要轉換的二進制數補足位數后首位為1,那么表示這個二進制數是負整數。此時,就需要先取反,然后再進行換算:例如二進制數11101011的首位為1,這時應先取反得到00010100,然后按照上面的計算過程得出10100對應的十進制數20,所以二進制數11101011對應的十進制數為?20。
1.1.4 編碼格式
1.ASCII碼
ASCII(American Standard Code for Information Interchange,美國信息交換標準代碼),是基于拉丁字母的一套計算機編碼系統,主要用于表示現代英語和其他西歐語言。ASCII碼是現今最通用的單字節編碼系統,并等同于國際標準ISO/IEC 646。
一個英文字母(不分大小寫)占1字節空間,一個中文漢字占2字節空間。一個二進制數字序列在計算機中為一個數字單元,一般為8位二進制數。它的最小值為0,最大值為255。例如,一個ASCII碼就是1字節。
2.Unicode編碼
Unicode(又稱為統一碼、萬國碼、單一碼)是計算機科學領域里的一項業界標準,包括字符集、編碼方案等。Unicode編碼是為了解決傳統字符編碼方案的局限性而產生的,它為每種語言中的每個字符都設定了統一并且唯一的二進制編碼,以滿足跨語言和跨平臺進行文本轉換、處理的要求。
最初Unicode編碼的長度是固定的16位,也就是2字節代表一個字符,這樣可以表示65536個字符。顯然,若要表示各種語言中的所有字符,這是遠遠不夠的。Unicode 4.0規范考慮到了這種情況,定義了一組附加字符編碼。附加字符編碼采用兩個16位來表示,這樣最多可以定義1 048 576個附加字符。目前,Unicode 4.0規范只定義了45 960個附加字符。
Unicode只是一個編碼規范。目前實際實現的Unicode編碼只要有3種:UTF-8、UCS-2和UTF-16。3種Unicode字符集之間可以按照相關規范進行轉換。
3.UTF-8編碼
UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度的字符編碼,又稱為萬國碼。UTF-8由Ken Thompson于1992年創建,現在已經將它標準化為RFC 3629。UTF-8用1~6字節編碼Unicode字符。在網頁上它可以統一頁面顯示中文簡體/繁體及其他語言(如英文、日文、韓文)。一個UTF-8編碼的英文字符占用1字節;一個UTF-8編碼的中文(含繁體)字符少數情況下占用3字節,多數情況下占用4字節;一個UTF-8編碼的數字占用1字節。
小編推薦一個學C語言/C++的學習裙【 ?141622001 ?】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多干貨和技術資料分享!邊看書邊聽視頻,迅速掌握C編程技術的指南
內容提要
本書循序漸進、由淺入深地講解了C語言開發的技術。全書共25章。本書不僅介紹了C語言的基礎和核心知識(如開發工具、語法、運算符、表達式、輸入/輸出、流程控制、數組、字符串、函數),還講解了C語言中的重點和難點(如指針、結構體、共用體和枚舉、鏈表、位運算、預編譯、文件操作、調試、內存管理、高級編程技術、算法、數據結構、網絡編程技術等)。此外,本書還通過4個綜合實例,介紹了C語言在綜合項目中的應用。全書內容以“技術解惑”和“范例演練”貫穿全書,引領讀者全面掌握C語言。
本書不但適用C語言的初學者,也適合有一定C語言基礎的讀者學習。
總結
以上是生活随笔為你收集整理的c语言 二进制输出_程序员入门C语言,需要掌握的4个基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么向easyui grid里面插入空数
- 下一篇: 隐藏esp_?吉利帝豪GL到店实拍,7.