您好,登錄后才能下訂單哦!
計算機領域涉及面之廣闊相比大家都有所了解,每個領域都涉及眾多知識,精通每個領域也是基本不可能的,至少博主認為自己目前沒有這個精力和能力涉及每個領域,徘徊了好久博主終于決定了準備走哪門路線,C/C++/Linux運維路線,希望在這門領域有所造就,以下以及以后博主會不斷更新內容,是博主在學習本領域過程中的一些領悟以及總結,希望它可以給你給我的學習能帶來一些幫助。好了廢話不多說開始。
首先我們先談一下數據在計算機中存儲
數據概述
計算機中處理的對象,如數字、字母、符號、文字、圖形、聲音、圖像等各種數據,在計算機中的數據是以二進制的形式進行存儲和運算的。
計算機當中數據的單位:
位(bit):數據的最小單位,每個數碼成為一位
字節(byte):存儲容量的基本單位
字節、千字節、兆字節、吉字節,太字節
其換算公式如下:
1字節=8位 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB
計算機中的數制
概念:數制也稱計數制,是指用一種固定的符號和統一的規則來表示數值的方法。計算機中處理的數據往往是數字、字符、符號等形式出現的,但在計算機內部都是電子元件,只識別0和1的二進制符號,因此這些數據都被處理成二進制形式。也就是說,對于任何一種進制---X進制,就表示某一位置上的數運算時是逢X進一位。十進制是逢十進一,十六進制是逢十六進一,二進制就是逢二進一。
常用數制
常用數制有二進制(Binary)、八進制(Octonary)、十進制(Decimal)、十六進制(Hexadecimal)。
各個進制能使用的數碼
二進制:0、1
八進制:0、1、2、3、4、5、6、7
十進制:0、1、2、3、4、5、6、7、8、9
十六進制:0、1、2、3、4、5、6、7、8、9A、B、C、D、E、F
數制中常用術語解釋
數位:指數碼在一個數中所處的位置。
基數:指在某種進位計數制中,每個數位上所能使用的數碼的個數,如八進制基數為8。
位權:指在某種進位計數制,每個數位上的數碼所代表的大小,等于在這個數位上的數碼乘上一個固定的數值,這個固定的數值就是此種進位計數制該位上的位權。數碼所處的位置不同,代表數的大小也不同。例如,十進制中1234中1代表1X10^3八進制數257中5代表5X8^1
不同進制數的表示:
為了區分二、八、十、十×××種進制數,可以在數的后邊加一個英文字母作為標識符,有時為了方便在數的后邊加一個該進制的基數作為標識符。二進制用B(Binary),八進制用O(octal)、十進制用D(decimal)、十六進制用H(hexadecimal),D是可以省略的,即省略標識符的是十進制數,另外為了便于識別八進制數和十六進制數,通常八進制數是以0開頭,而十六進制數是以0x開頭。
進制之間的轉化
非十進制與十進制的相互轉化(即:八進制、十六進制、二進制<------------>十進制)
1) 八進制、十六進制、二進制-------------->十進制
方法:將相應進制的數按權展成多項式,按十進制求和。
(10011.01)2
=1×24+0×23+0×22+1×21+1×20+0×2-1+1×2-2
=16+2+1+0.25
=19.25
2) 十進制-------------->八進制、十六進制、二進制
方法:都是按照整數部分除以基數取余,小數部分乘以基數取整
非二進制與二進制相互轉化(即:八進制、十六進制<------------->二進制)
1) 二進制與八進制間的轉換
方法:從小數點開始,將二進制數的整數和小數部分每三位分為一組,不足三位的分別在整數的最高位前和小數的最低位后加“0”補足,然后每組用等值的八進制碼替代,即得目的數。
2) 二進制與十六進制間的轉換
方法:從小數點開始,將二進制數的整數和小數部分每四位分為一組,不足四位的分別在整數的最高位前和小數的最低位后加“0”補足,然后每組用等值的十六進制碼替代,即得目的數
補充 :
任何數在內存中都是以二進制補碼的形式存放的.
正數的補碼就是其本身的二進制.
負數的補碼是其絕對值的二進制的反碼加+1.
IDE中是以16進制的呈現的,也就是說查看變量時你會發現是以16進制數表示的,但是要注意計算機存儲仍然是2進制,以十六進制呈現是為了便于觀察。
以上是我的一點總結,有什么不對的地方歡迎指正
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。