這篇文章主要介紹“計算機內部的數據表達怎么理解”,在日常操作中,相信很多人在計算機內部的數據表達怎么理解問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”計算機內部的數據表達怎么理解”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

成都創新互聯是一家專業提供呼圖壁企業網站建設,專注與成都網站設計、成都網站建設、H5高端網站建設、小程序制作等業務。10年已為呼圖壁眾多企業、政府機構等服務。創新互聯專業網絡公司優惠進行中。
1.3 計算機內部的數據表達
計算機內部數據表達的總原則就是:把一切內容數值化、數字化。這個也是編程時處理數據的基本方式,對于編程理解的越深入,則將越認同該原則。
其實計算機也只能這樣,因為計算機內部只能存儲0和1兩個數字,所以必須把指令、數據、圖片、文本等各種各樣的內容數字化成0和1進行存儲、傳輸和顯示。
1.3.1 整數的表達
整數有正負之分,但是計算機內部只能存儲0和1,則計算機內部將符號數字化,用二進制碼的最高位代表符號位,規定該位為0代表正,1代表負。這就是符號數字化的規定。
前面介紹過整數在計算機內部都是以二進制的形式保存的。但是為了計算方便,以及簡化CPU的結構,所以在存儲和運算時都采用補碼的形式。
前面介紹的那些直接計算出來的二進制形式,都稱作整數的原碼。規定正數的原碼、反碼和補碼都是自身。
而對于負數,仔細研究一下其組成格式。以8位機為例,也就是一個數字占計算機中的8位,也就是一個字節,用最高位存儲符號位,其它的位存儲數值。例如-8的原碼是10001000,最高位的1代表負數,后續的7位代表數值。
負數的反碼是指符號位不變,其他的位取反,也就是0變1,1變0,則-8的反碼是11110111.負數的補碼是指在反碼的數值位上加1,運算后得到的結果,只計算數值位,不改變符號位。則-8的補碼是11111000,該次運算中,低位向高位進行了進位。
規律:補碼的補碼等于負數的原碼。
也就是對負數的補碼再求補,則得到的負數的原碼。
熟悉整數的表達,對于后續理解數據的區間以及進行強制轉換以后得到的數值很有幫助,也是進行位運算的基礎。
備注:小數,編程語言中稱浮點數,的存儲形式和整數不同。
1.3.2 字符的表達
字符指計算機內部單個的符號,如標點符號、英文字母和漢字等等。因為這些字符種類各異,計算機無法直接表達,那么就采用了計算機編程中也常用的方式,對每個字符進行編號,例如規定a字符編號為97,b字符編號為98等等。
由于需要編號的字符很多,就專門規定了一系列字符和編號的對應規則,那么這些對應表就被稱作字符集,常見的字符集有ASCII、GB2312、BIG5等。
在計算機內部存儲、運算和傳輸時,都只需要使用該編號即可。
字符集比較完美的解決了字符的存儲和傳輸的問題。
所以字符在程序內部可以參與運算,其實參與運算的就是這個字符的編號,字符集規律是很多字符變換邏輯實現的基礎。
備注:字符的顯示則通過專門的字符顯示碼實現。
1.3.3 總結
其實計算機內部所有的東西都是以數字的形式存儲的,這里只是希望通過這兩種簡單的結構,使大家了解將數據數字化的思想,這是編程時常用的思想之一。 |
Java編程那些事兒——網絡編程基礎
Java, JDK, Java編譯器, Javac, Java基礎
對于初學者,或者沒有接觸過網絡編程的程序員,會覺得網絡編程涉及的知識很高深,很難,其實這是一種誤解,當你的語法熟悉以后,其實基本的網絡編程現在已經被實現的異常簡單了。
1.4.1 網絡編程是什么?
網絡編程的本質是兩個設備之間的數據交換,當然,在計算機網絡中,設備主要指計算機。數據傳遞本身沒有多大的難度,不就是把一個設備中的數據發送給兩外一個設備,然后接受另外一個設備反饋的數據。
現在的網絡編程基本上都是基于請求/響應方式的,也就是一個設備發送請求數據給另外一個,然后接收另一個設備的反饋。
在網絡編程中,發起連接程序,也就是發送第一次請求的程序,被稱作客戶端(Client),等待其他程序連接的程序被稱作服務器(Server)。客戶端程序可以在需要的時候啟動,而服務器為了能夠時刻相應連接,則需要一直啟動。例如以打電話為例,首先撥號的人類似于客戶端,接聽電話的人必須保持電話暢通類似于服務器。
連接一旦建立以后,就客戶端和服務器端就可以進行數據傳遞了,而且兩者的身份是等價的。
在一些程序中,程序既有客戶端功能也有服務器端功能,最常見的軟件就是BT、emule這類軟件了。
下面來談一下如何建立連接以及如何發送數據。
1.4.2 IP地址和域名
在現實生活中,如果要打電話則需要知道對應人的電話號碼,如果要寄信則需要知道收信人的地址。在網絡中也是這樣,需要知道一個設備的位置,則需要使用該設備的IP地址,具體的連接過程由硬件實現,程序員不需要過多的關心。
IP地址是一個規定,現在使用的是IPv4,既由4個0-255之間的數字組成,在計算機內部存儲時只需要4個字節即可。在計算機中,IP地址是分配給網卡的,每個網卡有一個唯一的IP地址,如果一個計算機有多個網卡,則該臺計算機則擁有多個不同的IP地址,在同一個網絡內部,IP地址不能相同。IP地址的概念類似于電話號碼、身份證這樣的概念。
由于IP地址不方便記憶,所以有專門創造了域名(Domain Name)的概念,其實就是給IP取一個字符的名字,例如163.com、sina.com等。IP和域名之間存在一定的對應關系。如果把IP地址類比成身份證號的話,那么域名就是你的姓名。
其實在網絡中只能使用IP地址進行數據傳輸,所以在傳輸以前,需要把域名轉換為IP,這個由稱作DNS的服務器專門來完成。
所以在網絡編程中,可以使用IP或域名來標識網絡上的一臺設備。
1.4.3 端口的概念
為了在一臺設備上可以運行多個程序,人為的設計了端口(Port)的概念,類似的例子是公司內部的分機號碼。
規定一個設備有216個,也就是65536個端口,每個端口對應一個唯一的程序。每個網絡程序,無論是客戶端還是服務器端,都對應一個或多個特定的端口號。由于0-1024之間多被操作系統占用,所以實際編程時一般采用1024以后的端口號。
使用端口號,可以找到一臺設備上唯一的一個程序。
所以如果需要和某臺計算機建立連接的話,只需要知道IP地址或域名即可,但是如果想和該臺計算機上的某個程序交換數據的話,還必須知道該程序使用的端口號。
1.4.4 數據傳輸方式
知道了如何建立連接,下面就是如何傳輸數據了,先來看一下數據傳輸的方式。
在網絡上,不管是有線傳輸還是無線傳輸,數據傳輸的方式有兩種:
<!——[if !supportLists]——>l <!——[endif]——>TCP(Transfer Control Protocol)
傳輸控制協議方式,該傳輸方式是一種穩定可靠的傳送方式,類似于顯示中的打電話。只需要建立一次連接,就可以多次傳輸數據。就像電話只需要撥一次號,就可以實現一直通話一樣,如果你說的話不清楚,對方會要求你重復,保證傳輸的數據可靠。
使用該種方式的優點是穩定可靠,缺點是建立連接和維持連接的代價高,傳輸速度不快。
<!——[if !supportLists]——>l <!——[endif]——>UDP(User Datagram Protocol)
用戶數據報協議方式,該傳輸方式不建立穩定的連接,類似于發短信息。每次發送數據都直接發送。發送多條短信,就需要多次輸入對方的號碼。該傳輸方式不可靠,數據有可能收不到,系統只保證盡力發送。
使用該種方式的優點是開銷小,傳輸速度快,缺點是數據有可能會丟失。
在實際的網絡編程中,大家可以根據需要選擇任何一種傳輸方式,或組合使用這兩種方式實現數據的傳遞。
1.4.5 協議的概念
協議(Protocol)是網絡編程中一個非常重要的概念,指的是傳輸數據的格式。因為大家在網絡中需要傳輸各種各樣的信息,在程序中獲得到的都是一組數值,如何閱讀這些數值呢,就需要提前規定好這組數據的格式,在客戶端按照該格式生成發送數據,服務器端按照該格式閱讀該數據,然后在按照一定的格式生成數據反饋給客戶端,客戶端再按照該格式閱讀數據。現實中類似的例子就是電報編碼,每個數字都是用特定的數據表達。
一般程序的協議都分成客戶端發送的數據格式,以及服務器端反饋的數據格式,客戶端和服務器端都遵循該格式生成或處理數據,實現兩者之間的復雜數據交換。
|
到此,關于“計算機內部的數據表達怎么理解”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!
本文標題:計算機內部的數據表達怎么理解
URL標題:http://www.yijiale78.com/article40/jjpseo.html
成都網站建設公司_創新互聯,為您提供網站營銷、網站排名、App開發、靜態網站、網站維護、響應式網站
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯