導航:首頁 > 編程語言 > 編程的第二法則

編程的第二法則

發布時間:2022-06-01 09:55:41

Ⅰ 進入互聯網行業一定要學那些編程啊,C語言啊,設計嗎

1、第一法則:站在巨人肩膀上 && 不要重復造輪子。
對於這種復雜的過程,第一選擇是使用現成的,節約時間,提升效率。
Wireshark(前稱Ethereal)是一個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並盡可能顯示出最為詳細的網路封包資料。Wireshark使用WinPCAP作為介面,直接與網卡進行數據報文交換。
網路封包分析軟體的功能可想像成 "電工技師使用電表來量測電流、電壓、電阻" 的工作 - 只是將場景移植到網路上,並將電線替換成網路線。在過去,網路封包分析軟體是非常昂貴,或是專門屬於營利用的軟體。Ethereal的出現改變了這一切。在GNUGPL通用許可證的保障范圍底下,使用者可以以免費的代價取得軟體與其源代碼,並擁有針對其源代碼修改及客制化的權利。Ethereal是目前全世界最廣泛的網路封包分析軟體之一。

2、第二法則:學習 && 提升。
如果是單純的學習知識,可以直接嘗試寫一些具有部分功能的程序,過程會有點艱難,但非常有意義。學習網路編程,需要了解 開放系統互連參考模型的的七層每一層的意義以及現實當中實現的四層的網路協議。然後就可以知道抓包的包位於模型當中的傳輸層協議,包括UDP和TCP的協議。進一步要學習每種協議的格式,表頭,數據包等等。一句話,冰凍三尺非一日之寒。

3、Windows下的抓包及簡單的編程。
Windows2000在TCP/IP協議組件上做了很多改進,功能也有增強。比如在協議棧上的調整,增大了默認窗口大小,以及高延遲鏈接新演算法。同時在安全性上,可應用IPSec加強安全性,比NT下有不少的改進。
Microsoft TCP/IP 組件包含「核心協議」、「服務」及兩者之間的「介面」。傳輸驅動程序介面 (TDI) 與網路設備介面規范 (NDIS) 是公用的。 此外,還有許多用戶模型應用程序的更高級介面。最常用的介面是 Windows Sockets、遠程過程調用 (RPC) 和 NetBIOS。
Windows Sockets 是一個編程介面,它是在加州大學伯克利分校開發的套接字介面的基礎上定義的。它包括了一組擴展件,以充分利用 Microsoft Windows 消息驅動的特點。規范的 1.1 版是在 1993 年 1 月發行的,2.2.0 版在 1996 年 5 月發行。Windows 2000 支持 Winsock 2.2 版。在Winsock2中,支持多個傳輸協議的原始套接字,重疊I/O模型、服務質量控制等。
這里介紹Windows Sockets的一些關於原始套接字(Raw Socket)的編程。同Winsock1相比,最明顯的就是支持了Raw Socket套接字類型,通過原始套接字,我們可以更加自如地控制Windows下的多種協議,而且能夠對網路底層的傳輸機制進行控制。

Ⅱ 什麼叫編程規范

  1. 只要是一個有用的軟體就需要大量的工作,首先要進行軟體需求分析,然後要設計出軟體的框架,而實現軟體的代碼僅占很少一部分(約20%)。而你不要小看這代碼的實現,也是要很多人的參與的,一般軟體代碼就有上千行,更別說操作系統了,據說Linux就有千萬行的代碼。這就需要把一個軟體分成很多小的模塊,分工完成。這就是軟體編程規范的背景。

  2. 軟體編程規范概要:

    (1)程序結構清晰,簡單易懂,單個函數的程序行數不得超過100行。

    (2)打算干什麼,要簡單,直截了當,代碼精簡,避免垃圾程序。

    (3)盡量使用標准庫函數和公共函數。

    (4)不要隨意定義全局變數,盡量使用局部變數。

    (5)使用括弧以避免二義性。

Ⅲ 學習編程語言最好的方法是什麼

開發技巧和方法

1)筷子法則,不要試圖一下子把某個知識理解的很清楚,就像一個老外來中國,第一次見到筷子,他的第一反應是這是啥東西,有人告訴他這是中國人吃飯的工具,第二次,他可以笨笨的使用筷子,第三次,有人問他什麼是筷子他就成了行家,他說筷子就是吃飯的兩根木棍。所以,知識的掌握是重復、重復、再重復。
2)新手必須有從讀代碼、寫代碼,到寫程序的過程,急於就成,反而不成。
3)多動手、多實踐、舉一反三。
4)基礎到什麼時候都很重要,C語言、數據結構、演算法、資料庫、網路編程、內存 這些不管你是新手還是老手都要熟練掌握,否者寫不出好的軟體。
5)多參考別人設計的程序,想想他們是如何實現的會給你帶來靈感。
6)要有堅持到底的信念,永不放棄的精神,憧憬一下未來,保時捷就在那裡等著你,你就有干勁了

Ⅳ 編程是什麼

編程是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。

為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。

編程:設計具備邏輯流動作用的一種「可控體系」【註:編程不一定是針對計算機程序而言的,針對具備邏輯計算力的體系,都可以算編程。】

一、編程語言

機器語言:是機器能直接識別的程序語言或指令代碼。計算機是基於二進制的0和1來處理運算,這種0和1的組合指令又叫做機器語言。

編譯器:就像中國人和外國人說話要把中文翻譯成英文一樣。代碼要運行,就要把代碼翻譯成機器語言,這個過程叫做編譯,用來處理代碼編譯的軟體叫做編譯器。

編程語言:用來定義計算機程序的形式語言,用來向計算機發出指令。簡單來說,就是人類和計算機進行交流的語言。

二、計算機如何處理程序?

按照馮·諾依曼存儲程序的原理,計算機的工作流程大致如下:

Ⅳ 中國人學的編程,一直是在別人發明的工具上使用編程,有誰知道最原始的編譯法則是什麼樣的

如果你學過數字電路你會知道計算機的本質是由0和1組成的。
最早的「編程」就是通過開關電線來控制計算機的行為。
後來有了匯編,用特定的字元串替代由0和1組成的編碼。
再後來有了更高級的C語言,編譯的原理是將其轉換成匯編。再後來又有了C/C++,Java等面向對象的語言,這些解放了程序員,讓他們將更多的精力放到程序本身的業務上去,而不是關注計算機的細節。
編譯原理本身就像發明輪子一樣,別人已經發明了,你還要跟個SB一樣去再發明一個?

Ⅵ 怎麼編程

如何學好VB

序:不要老是想著誰「最有錢途」,這些都不是我們應當考慮的,我們要考慮的是怎樣才能真正的精通VB。如果成為了VB的專家,應當很容易賺到錢的。VB程序員為什麼工資低,不是VB不行,是因為大部份VB程序員不行,他們只懂得用控制項,而沒有什麼編程的思想。而VB的初學都只會用控制項和簡單的API就說精通VB了,顯然影響的整個VB在程序界的地位,這些人顯然不能稱為程序員的,只能相當於會使用VB了,就像會Word一樣。如果VB程序員都懂的數據結構,UML等,就完全是另外一回事了。有認為VB功能弱,請注意:仙劍95版就是用VB4做的,還有DirectX SDK7中有個一很好玩的3D游戲,聲音和動畫都非常好,也是用VB寫的。所以VB能做很多東西,只要你想去做。
(1)VB不只是資料庫和報表。不要以為VB就是資料庫和報表,這只是VB強大功能的一小部份。如果這此都搞不清,還是好好的看一下相關的書籍,比在這里問問題有用多了。我以前沒有學過資料庫,只是有些編程的思路,後來學資料庫就非常容易了。我做報表一般用RichTextBox或是From來做,一般都能做的很好,也不用去考慮什麼水晶報表了。
(2)不要迷信於API。API能做很多東西,但有些東西在VB裡面的函數中就有,API只是VB對WindowsSDK的封裝而已。如果想學好API,建議學習SDK。如果VB本身就能很好的支持這個功能,何必還要用API呢。
(3)不要什麼都想著控制項。如果做程序都想著第三方控制項的話,代價是很高的,不僅程序大,安全性也低了很多。其實VB本身帶的控制項已經完全夠用了。
(4)認認真真的把MSDN中關於VB的內容好好看一看,特別是函數和語句,很有用的。
(5)遇到問題不要直接來這里問,自己好好想一想,試著解決這個問題,這雖然在時間上慢了,可是在自身的提高上卻有很大的幫助。
(6)沒事的時候,多研究些語言上的東西,如數據結構和演算法,不要老是想著什麼花哨的東西。這對以後的提高非常有幫助。

如何學好VB程序設計
1,學習程序設計的基本要求
2,Vb的功能及特點
3,學習VB程序設計的方法
對學習者知識的要求:
首先,學習程序設計要具備一定的數學基礎.計算機與數學有很大的聯系,綜觀計算機歷史,計算機的數學模型(圖靈機,由Alan Turing提出)和體系結構(由John Von Neuman提出)等都是由數學家提出的,最早的計算機也是為數值計算而設計的.因此,要學習好計算機就要有一定的數學基礎.不過對於初學者來說,在數學基礎方面的要求並不是很高,從我個人的角度來看,有高中數學水平就差不多了.
如何學好VB程序設計
學習程序設計基本要求
對學習者知識的要求:
其次,學習程序設計要有一定的邏輯思維能力.邏輯思維需要長時間的鍛煉,如果你覺得自己在邏輯思維能力上有不足,也沒有關系,因為編寫程序本身也是對邏輯思維的鍛煉.初學程序設計應具備的邏輯基礎可以從高中數學中學到.
如何學好VB程序設計
學習程序設計基本要求
熟悉Visual Basic操作環境與設計工具,能設計應用程序界面.
掌握,理解面向對象程序設計基本概念
掌握VB語言的基礎知識,程序設計的方法,
能閱讀一般難的程序;
能應用編寫一些簡單程序;
具有用Visual Basic開發Windows環境下應用程序的能力和閱讀分析一般難度的VB程序的能力.
如何學好VB程序設計
VB程序設計的基本要求
Visual Basic 簡介
Visual Basic 是Microsoft 公司開發的Windows 應用程序開發工具,Visual ——"可視化的",是一種開發圖形戶界面(GUI)的方法.使得非計算機專業的人也可以開發出專業的Windows軟體.
Visual Basic繼承了BASIC語言簡單易學的優點,又增加了許多新的功能,它採用面向對象與事件驅動的程序設計思想,使編程變得更加方便,快捷.使用Visual Basic既可以開發個人或小組使用的小型工具,又可以開發多媒體軟體,資料庫應用程序,網路應用程序等大型軟體.是國內外最流行的程序設計語言之一.
2,VB的功能及特點
英文Visual的意思是"視覺的","可視的Baisc"這個名字可能抽象了點,但實際上它卻是最直觀的編程方法,之所以叫做"可視",你只要看到VB的界面就會明白,實際上你無需編程,就可以完成許多步驟.
在VB中引入了控制項的概念,在Windows中控制項的身影無處不在,如按鈕,文本框等,VB把這些控制項模式化,並且每個控制項都有若干屬性用來控制控制項的外觀,工作方法,能夠響應用戶操作(事件).
這樣你就可以象在畫板上一樣,隨意點幾下滑鼠,一個按鈕就完成了,這些在以前的編程語言下是要經過相當復雜的工作的.
何為可視
Visual Basic的特點
1. 具有面向對象的可視化設計工具
2. 事件驅動的編程機制
3. 結構化的程序設計語言
4. 提供了易學易用的應用程序集成開發環境
5.支持多種資料庫系統的訪問
6.高度可移植化的代碼
7.VB6.0在開發環境上,網路功能等的大大增強
Visual Basic的特點
可視化設計: Visual Basic為用戶提供大量的界面元素(在Visual Basic中稱為控制項對象),例如 "窗體","菜單","命令按鈕","工具按鈕","檢查框"等等,用戶只需要利用滑鼠,鍵盤把這些控制項對象拖動到適當的位置,設置它們的大小,形狀,屬性等,就可以設計出所需的應用程序界面.
Visual Basic的特點
事件驅動編程:Windows操作系統出現以來,圖形化的用戶界面和多任務多進程的應用程序要求程序設計不能是單一性的,在使用Visual Basic設計應用程序時,必須首先確定應用程序如何同用戶進行交互.(例如發生滑鼠單擊,鍵盤輸入等事件時,用戶必須編寫代碼控制這些事件的響應方法)這就是所謂的事件驅動編程.
程序設計方法概述
1.初期的程序設計
高運行效率,少佔用內存為目標
2.結構化程序設計
程序的可讀性,可維護性為目標
程序=演算法+數據結構+計算機語言+面向過程的程序設計方法
3.面向對象的程序設計(OOP)
降低程序的復雜性,提高軟體的開法效率和改善工作界面為目標
程序=對象+消息+面向對象的程序設計
面向對象的程序設計具有如下的優點:
1.符合人們習慣的思維方法,便於分解大型的復雜多變的問題.由於對象對應於現實世界中的實體,因而可以很自然地按照現實世界中處理實體的方法來處理對象,軟體開發者可以很方便地與問題提出者進行溝通和交流.
2.易於軟體的維護和功能的增減.對象的封裝性及對象之間的鬆散組合,都給軟體的修改和維護帶來了方便.
3.可重用性好.重復使用一個類(類是對象的定義,對象是類的實例化),可以比較方便地構造出軟體系統,加上繼承的方式,極大地提高了軟體開發的效率.
4.與可視化技術相結合,改善了工作界面.隨著基於圖形界面操作系統的流行,面向對象的程序設計方法也將深入人心.它與可視化技術相結合,使人機界面進入GUI時代.
(1)養成良好的學習習慣
VB程序設計的入門學習並不難,但卻是一個十分重要的過程,因為程序設計思想就在這時形成的,良好的程序設計習慣也在這個階段養成.
(2)學習程序設計要注重理解一些重要的概念.
VB程序設計本身並不復雜,翻開一本程序設計學習的書籍,看到的無非就是變數,函數,條件語句,循環語句等概念.但要真正能進行程序設計,需要深入理解這些概念.因此,在程序入門階段還是應該重視概念的學習.
3,學習VB程序設計的方法
(3)自己動手編寫程序
程序設計入門階段要經常自己動手編寫程序,親自動手進行程序設計是創造性思維應用的體現,是培養邏輯思維的好方法.因此一定要多動手編寫程序,而且要從小程序開發開始,逐漸提高開發程序的規模.
(4)閱讀,借簽別人設計的好程序
多看別人設計好的程序代碼,包括教材上的例題程序.在讀懂別人程序後,要想他為什麼這么設計 能不能將程序修改完成更多的功能 則可以學到別人優秀的東西,幫助自己提高自身水平.
3,學習VB程序設計的方法
(5) VB程序設計學習的重點
重點放在思路,演算法,編程構思和程序實現上.
語句只是表達工具,要求堂上積極思考,盡量當堂學懂,並做到靈活應用.
學會利用計算機編程手段分析問題和解決問題.
(6)養成良好的編程習慣
強調可讀性;變數要加註釋;
程序構思要有說明;
學會如何調試程序;
對運行結果要做正確與否的分析.
3,學習VB程序設計的方法
學好VB程序設計的具體要求:
(1)課前預習,認真聽課並作適當做筆記,課後要認真復習消化所學內容,完成作業.
(2)多寫程序,注重實踐
程序設計課是高強度的腦力勞動,不是聽會的,也不是看會的,而是練會的.
只有自己動手,編寫一些程序,才會有成就感,進而對課程產生興趣,學起來才比較從容.只有當你在編寫大量程序之後,才能獲得真知灼見,感到運用自如.
動手能力的培養是這門課和以往課程最大的不同之處.
3,學習VB程序設計的方法
(3)上機調試程序應注意的幾點:
上機前應認真把實驗題在用紙上做一做(包括窗體界面設計,事件代碼的編寫等)
每次上機後應總結,把沒有搞清楚的問題記錄下來,請教老師或同學.
平時應多抽課余時間多上機調試程序.注意系統的提示信息,遇到問題多問幾開為什麼.
3,學習VB程序設計的方法
(4)保持良好的學習心態
要有自信,自強,積極主動學習.
克服畏難情緒,樹立學好程序設計的信心.

VB重點和難點(文檔下載):

Ⅶ C語言編寫程序四則運演算法則

1234567891011121314151617# include <stdio.h>int main(void){ int a,b,s; char c; scanf("%d%c%d",&a,&c,&b); switch(c) { case '+':s=a+b;break; case '-':s=a-b;break; case '*':s=a*b;break; case '/':s=a/b;break; default:return -1; } printf("%d",s); return 0;}

如果還要判斷除數為0的情況 再添個if即可

Ⅷ 怎麼學習計算機編程

普通人如何學習編程

Acherie

現在,計算機已經融入到了我們生活的方方面面,手機、電腦、智能家居等。在計算機變得如此普遍的今天,是不是每個人都應該學習一點編程呢?

2013年,非營利性組織Code.org發起了「Hour of Code」的倡議,得到了很多著名人物和企業的支持(Is Computer Programming Hard to Learn ?),其中包括扎克伯格、比爾蓋茨、蘋果、谷歌,就連美國總統奧巴馬都發布視頻呼籲每個美國公民都學習編程。

李笑來老師建議必備的兩個技能——英語和編程。「改變自己」的輝哥(張輝)也在文章中提到過自己利用 python 寫了一個群發郵件的腳本。

所以,這么多名人,牛人都呼籲大家學習編程,那麼普通人學習編程到底有什麼用?

普通人學編程有什麼用?

主要有如下理由:

Ⅸ 計算機編程里的進制該怎麼表示,計算,轉換啊

計算機中按照不同的分類可以分成十進制、八進制、十六進制和二進制。轉換法則表示:1. 十 -----> 二 給你一個十進制,比如:6,如果將它轉換成二進制數呢? 10進制數轉換成二進制數,這是一個連續除2的過程: 把要轉換的數,除以2,得到商和余數, 將商繼續除以2,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。 聽起來有些糊塗?我們結合例子來說明。比如要轉換6為二進制數。 「把要轉換的數,除以2,得到商和余數」。 那麼: 十轉二示意圖 要轉換的數是6, 6 ÷ 2,得到商是3,余數是0。 「將商繼續除以2,直到商為0……」 現在商是3,還不是0,所以繼續除以2。 那就: 3 ÷ 2, 得到商是1,余數是1。 「將商繼續除以2,直到商為0……」 現在商是1,還不是0,所以繼續除以2。 那就: 1 ÷ 2, 得到商是0,余數是1 「將商繼續除以2,直到商為0……最後將所有餘數倒序排列」 好極!現在商已經是0。 我們三次計算依次得到余數分別是:0、1、1,將所有餘數倒序排列,那就是:110了! 6轉換成二進制,結果是110。 把上面的一段改成用表格來表示,則為: 被除數 計算過程 商 余數 6 6/2 3 0 3 3/2 1 1 1 1/2 0 1 (在計算機中,÷用 / 來表示) 2. 二 ----> 十 二進制數轉換為十進制數 二進制數第0位的權值是2的0次方,第1位的權值是2的1次方…… 所以,設有一個二進制數:0110 0100,轉換為10進制為: 下面是豎式: 0110 0100 換算成 十進制 " ^ " 為次方 第0位 0 * 2^0 = 0 第1位 0 * 2^1 = 0 第2位 1 * 2^2 = 4 第3位 0 * 2^3 = 0 第4位 0 * 2^4 = 0 第5位 1 * 2^5 = 32 第6位 1 * 2^6 = 64 第7位 0 * 2^7 = 0 + --------------------------- 100 用橫式計算為: 0 * 2 ^ 0 + 0 * 2 ^ 1 + 1 * 2 ^ 2 + 1 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 + 1 * 2 ^ 6 + 0 * 2 ^ 7 = 100 0乘以多少都是0,所以我們也可以直接跳過值為0的位: 1 * 2 ^ 2 + 1 * 2 ^ 3 + 1 * 2 ^ 5 + 1 * 2 ^ 6 = 100 3. 十 ----> 八 10進制數轉換成8進制的方法,和轉換為2進制的方法類似,唯一變化:除數由2變成8。 來看一個例子,如何將十進制數120轉換成八進制數。 用表格表示: 被除數 計算過程 商 余數 120 120/8 15 0 15 15/8 1 7 1 1/8 0 1 120轉換為8進制,結果為:170。 4. 八 ----> 十 八進制就是逢8進1。 八進制數採用 0~7這八數來表達一個數。 八進制數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方…… 所以,設有一個八進制數:1507,轉換為十進制為: 用豎式表示: 1507換算成十進制。 第0位 7 * 8^0 = 7 第1位 0 * 8^1 = 0 第2位 5 * 8^2 = 320 第3位 1 * 8^3 = 512 -------------------------- 839 同樣,我們也可以用橫式直接計算: 7 * 8^0 + 0 * 8^1 + 5 * 8^2 + 1 * 8^3 = 839 結果是,八進制數 1507 轉換成十進制數為 839 5. 十 ----> 十六 10進制數轉換成16進制的方法,和轉換為2進制的方法類似,唯一變化:除數由2變成16。 同樣是120,轉換成16進制則為: 被除數 計算過程 商 余數 120 120/16 7 8 7 7/16 0 7 120轉換為16進制,結果為:78。 6. 十六----> 十 16進制就是逢16進1,但我們只有0~9這十個數字,所以我們用A,B,C,D,E,F這五個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。 十六進制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方…… 所以,在第N(N從0開始)位上,如果是是數 X (X 大於等於0,並且X小於等於 15,即:F)表示的大小為 X * 16的N次方。 假設有一個十六進數 2AF5, 那麼如何換算成10進制呢? 用豎式計算: 2AF5換算成10進制: 第0位: 5 * 16^0 = 5 第1位: F * 16^1 = 240 第2位: A * 16^2 = 2560 第3位: 2 * 16^3 = 8192 + ------------------------------------- 10997 直接計算就是: 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997 (別忘了,在上面的計算中,A表示10,而F表示15) 現在可以看出,所有進制換算成10進制,關鍵在於各自的權值不同。 假設有人問你,十進數 1234 為什麼是 一千二百三十四?你盡可以給他這么一個算式: 1234 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0 7. 二 ----> 八 (11001.101)(二) 整數部分: 從後往前每三位一組,缺位處用0填補,然後按十進制方法進行轉化, 則有: 001=1 011=3 然後我們將結果按從下往上的順序書寫就是:31,那麼這個31就是二進制11001的八進制形式 小數部分: 從前往後每三位一組,缺位處用0填補,然後按十進制方法進行轉化, 則有: 101=5 然後我們將結果部分按從上往下的順序書寫就是:5,那麼這個5就是二進制0.101的八進制形式 所以:(11001.101)(二)=(31.5)(八) 8. 八 ----> 二 (31.5)(八) 整數部分:從後往前每一位按十進制轉化方式轉化為三位二進制數,缺位處用0補充 則有: 1---->1---->001 3---->11 然後我們將結果按從下往上的順序書寫就是:11001,那麼這個11001就是八進制31的二進制形式 說明,關於十進制的轉化方式我這里就不再說了,上一篇文章我已經講解了! 小數部分:從前往後每一位按十進制轉化方式轉化為三位二進制數,缺位處用0補充 則有: 5---->101 然後我們將結果按從下往上的順序書寫就是:101,那麼這個101就是八進制5的二進制形式 所以:(31.5)(八)=(11001.101)(二) 9. 十六 ----> 二 ;二 ----> 十六 二進制和十六進制的互相轉換比較重要。不過這二者的轉換卻不用計算,每個C,C++程序員都能做到看見二進制數,直接就能轉換為十六進制數,反之亦然。 我們也一樣,只要學完這一小節,就能做到。 首先我們來看一個二進制數:1111,它是多少呢? 你可能還要這樣計算:1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。 然而,由於1111才4位,所以我們必須直接記住它每一位的權值,並且是從高位往低位記,:8、4、2、1。即,最高位的權值為2^3 = 8,然後依次是 2^2 = 4,2^1=2, 2^0 = 1。 記住8421,對於任意一個4位的二進制數,我們都可以很快算出它對應的10進制值。 下面列出四位二進制數 xxxx 所有可能的值(中間略過部分) 僅4位的2進制數 快速計算方法 十進制值 十六進值 1111 = 8 + 4 + 2 + 1 = 15 F 1110 = 8 + 4 + 2 + 0 = 14 E 1101 = 8 + 4 + 0 + 1 = 13 D 1100 = 8 + 4 + 0 + 0 = 12 C 1011 = 8 + 0 + 2+ 1 = 11 B 1010 = 8 + 0 + 2 + 0 = 10 A 1001 = 8 + 0 + 0 + 1 = 9 9 .... 0001 = 0 + 0 + 0 + 1 = 1 1 0000 = 0 + 0 + 0 + 0 = 0 0 二進制數要轉換為十六進制,就是以4位一段,分別轉換為十六進制。 如(上行為二制數,下面為對應的十六進制): 1111 1101 , 1010 0101 , 1001 1011 F D , A 5 , 9 B 反過來,當我們看到 FD時,如何迅速將它轉換為二進制數呢? 先轉換F: 看到F,我們需知道它是15(可能你還不熟悉A~F這五個數),然後15如何用8421湊呢?應該是8 + 4 + 2 + 1,所以四位全為1 :1111。 接著轉換 D: 看到D,知道它是13,13如何用8421湊呢?應該是:8 + 4 + 1,即:1101。 所以,FD轉換為二進制數,為: 1111 1011 由於十六進制轉換成二進制相當直接,所以,我們需要將一個十進制數轉換成2進制數時,也可以先轉換成16進制,然後再轉換成2進制。 比如,十進制數 1234轉換成二制數,如果要一直除以2,直接得到2進制數,需要計算較多次數。所以我們可以先除以16,得到16進制數: 被除數 計算過程 商 余數 1234 1234/16 77 2 77 77/16 4 13 (D) 4 4/16 0 4 結果16進制為: 0x4D2 然後我們可直接寫出0x4D2的二進制形式: 0100 1101 0010。 其中對映關系為: 0100 -- 4 1101 -- D 0010 -- 2 同樣,如果一個二進制數很長,我們需要將它轉換成10進制數時,除了前面學過的方法是,我們還可以先將這個二進制轉換成16進制,然後再轉換為10進制。 下面舉例一個int類型的二進制數: 01101101 11100101 10101111 00011011 我們按四位一組轉換為16進制: 6D E5 AF 1B

閱讀全文

與編程的第二法則相關的資料

熱點內容
下載釘釘app是什麼 瀏覽:222
什麼伺服器支持雲播放 瀏覽:835
什麼app進貨牛排比較好 瀏覽:107
為什麼鴻蒙用安卓app 瀏覽:82
手相面相pdf 瀏覽:374
軍犬不聽命令追出大門 瀏覽:913
程序員必背97件事 瀏覽:939
雲伺服器python怎麼讀取 瀏覽:30
哪裡買雲伺服器劃算 瀏覽:236
四川日報pdf 瀏覽:965
按摩解壓助眠小姐姐 瀏覽:411
風冷壓縮機水冷卻器 瀏覽:879
伺服器播放器如何打開方式 瀏覽:790
phppython快 瀏覽:365
pdf轉換word免費版 瀏覽:37
二手的有什麼APP 瀏覽:329
伺服器的應用鏡像是什麼 瀏覽:153
命令行的使用方法 瀏覽:514
怎麼讓圖片左右壓縮 瀏覽:656
白鹿原pdf 瀏覽:433