數制的概念 數制是人們利用符號進行計數的科學方法。數制有很多種,在計算機中常用的數制有:十進制,二進制和十六進制。
數制也稱計數制,是指用一組固定的符號和統一的規則來表示數值的方法。計算機是信息處理的工具,任何信息必須轉換成二進制形式數據后才能由計算機進行處理,存儲和傳輸。
人們通常使用的是十進制。它的特點有兩個:有0,1,2….9十個基本數字組成,十進制數運算是按“逢十進一”的規則進行的.
在計算機中,除了十進制數外,經常使用的數制還有二進制數和十六進制數.在運算中它們分別遵循的是逢二進一和逢十六進一的法則.
二進制數有兩個特點:它由兩個基本數字0,1組成,二進制數運算規律是逢二進一。
為區別于其它進制數,二進制數的書寫通常在數的右下方注上基數2,或加后面加B表示。
例如:二進制數10110011可以寫成(10110011)2,或寫成10110011B,對于十進制數可以不加注.計算機中的數據均采用二進制數表示,這是因為二進制數具有以下特點:
1) 二進制數中只有兩個字符0和1,表示具有兩個不同穩定狀態的元器件。例如,電路中有,無電流,有電流用1表示,無電流用0表示。類似的還比如電路中電壓的高,低,晶體管的導通和截止等。
2) 二進制數運算簡單,大大簡化了計算中運算部件的結構。
二進制數的加法和乘法運算如下:
0+0=0 0+1=1+0=1 1+1=10
0×0=0 0×1=1×0=0 1×1=1
由于二進制數據的基R較小,所以二進制數據的書寫和閱讀不方便,為此,在小型機中引入了八進制。八進制的基R=8=2^3,有數碼0、1、2、3、4、5、6、7,并且每個數碼正好對應三位二進制數,所以八進制能很好地反映二進制。八進制用下標8或數據后面加Q表示 例如:二進制數據 ( 11 101 010 . 010 110 100 )2 對應 八進制數據 ( 3 5 2 . 2 6 4 )8或352.264Q.
由于二進制數在使用中位數太長,不容易記憶,所以又提出了十六進制數
十六進制數有兩個基本特點:它由十六個字符0~9以及A,B,C,D,E,F組成(它們分別表示十進制數10~15),十六進制數運算規律是逢十六進一,即基R=16=2^4,通常在表示時用尾部標志H或下標16以示區別。
例如:十六進制數4AC8可寫成(4AC8)16,或寫成4AC8H。
對于形式化的進制表示,我們可以從0開始,對數字的各個數位進行編號,即個位起往左依次為編號0,1,2,……;對稱的,從小數點后的數位則是-1,-2,……
進行進制轉換時,我們不妨設源進制(轉換前所用進制)的基為R1,目標進制(轉換后所用進制)的基為R2,原數值的表示按數位為AnA(n-1)……A2A1A0.A-1A-2……,R1在R2中的表示為R,則有(AnA(n-1)……A2A1A0.A-1A-2……)R1=(An*R^n+A(n-1)*R^(n-1)+……+A2*R^2+A1*R^1+A0*R^0+A-1*R^(-1)+A-2*R^(-2))R2
?。ㄓ捎诖颂幉豢蛇x擇字體,說明如下:An,A2,A-1等符號中,n,2,-1等均應改為下標,而上標的冪次均用^作為前綴)
舉例:
一個十進制數110,其中百位上的1表示1個10^2,既100,十位的1表示1個10^1,即10,個位的0表示0個100,即0。
一個二進制數110,其中高位的1表示1個2^2,即4,低位的1表示1個2^1,即2,最低位的0表示0個2^0,即0。
一個十六進制數110,其中高位的1表示1個16^2,即256,低位的1表示1個16^1,即16,最低位的0表示0個16^0,即0。
可見,在數制中,各位數字所表示值的大小不僅與該數字本身的大小有關,還與該數字所在的位置有關,我們稱這關系為數的位權。
十進制數的位權是以10為底的冪,二進制數的位權是以2為底的冪,十六進制數的位權是以16為底的冪。數位由高向低,以降冪的方式排列。
1.二進制數、十六進制數轉換為十進制數(按權求和)
二進制數、十六進制數轉換為十進制數的規律是相同的。把二進制數(或十六進制數)按位權形式展開多項式和的形式,求其最后的和,就是其對應的十進制數——簡稱“按權求和”.
例如:把(1001.01)2轉換為十進制數。
解:(1001.01)2
=1*8+4*0+2*0+1*1+0*(1/2)+1*(1/4)
=8+0+0+1+0+0.25
=9.25
把(38A.11)16轉換為十進制數
解:(38A.11)16
=3×16的2次方+8×16的1次方+10×16的0次方+1×16的-1次方+1×16的-2次方
=768+128+10+0.0625+0.0039
=906.0664
2.十進制數轉換為二進制數,十六進制數(除2/16取余法)
整數轉換.一個十進制整數轉換為二進制整數通常采用除二取余法,即用2連續除十進制數,直到商為0,逆序排列余數即可得到――簡稱除二取余法.
例:將25轉換為二進制數
解:25÷2=12 余數1
12÷2=6 余數0
6÷2=3 余數0
3÷2=1 余數1
1÷2=0 余數1
所以25=(11001)2
同理,把十進制數轉換為十六進制數時,將基數2轉換成16就可以了.
例:將25轉換為十六進制數
解:25÷16=1 余數9
1÷16=0 余數1
所以25=(19)16
3.二進制數與十六進制數之間的轉換
由于4位二進制數恰好有16個組合狀態,即1位十六進制數與4位二進制數是一一對應的.所以,十六進制數與二進制數的轉換是十分簡單的.
(1)十六進制數轉換成二進制數,只要將每一位十六進制數用對應的4位二進制數替代即可――簡稱位分四位.
例:將(4AF8B)16轉換為二進制數.
解: 4 A F 8 B
0100 1010 1111 1000 1011
所以(4AF8B)16=(1001010111110001011)2
(2)二進制數轉換為十六進制數,分別向左,向右每四位一組,依次寫出每組4位二進制數所對應的十六進制數――簡稱四位合一位.
例:將二進制數(000111010110)2轉換為十六進制數.
解: 0001 1101 0110
1 D 6
所以(111010110)2=(1D6)16
轉換時注意最后一組不足4位時必須加0補齊4位
1)R進制轉換成十進制
任意R進制數據按權展開、相加即可得十進制數據。 例如:N = 1101.0101B = 1*2^3+1*2^2+0*21+1*2^0+0*2^-1+1*2^-2+0*2^-3+1*2^-4 = 8+4+0+1+0+0.25+0+0.0625 = 13.3125
N = 5A.8 H = 5*161+A*160+8*16-1 = 80+10+0.5 = 90.5
2)十進制轉換R 進制
十進制數轉換成R 進制數,須將整數部分和小數部分分別轉換.
1.整數轉換----除R 取余法 規則:(1)用R 去除給出的十進制數的整數部分,取其余數作為轉換后的R 進制數據的整數部分最低位數字; (2)再用2去除所得的商,取其余數作為轉換后的R 進制數據的高一位數字; (3)重復執行(2)操作,一直到商為0結束。 例如: 115 轉換成 Binary數據和Hexadecimal數據 (圖2-4) 所以 115 = 1110011 B = 73 H
2.小數轉換-----乘R 取整法 規則:(1)用R 去除給出的十進制數的小數部分,取乘積的整數部分作為轉換后R 進制小數點后第一位數字; (2)再用R 去乘上一步乘積的小數部分,然后取新乘積的整數部分作為轉換后R 進制小數的低一位數字; (3)重復(2)操作,一直到乘積為0,或已得到要求精度數位為止。
進制數及轉換詳解
- 進制數(6060)
相關推薦
熱點推薦
16進制轉10進制
16進制轉為10進制的計算方式及位運算應用口訣和2, 8, 10, 16進制轉換,分享一個16進制位移函數,實用的excel表格完成16進制數轉10進制數的方法。
2011-09-07 23:53:21
31264
31264
32位單精度IEEE-754浮點數轉換為10進制數
本帖最后由 hejin515 于 2016-6-5 16:02 編輯
請問誰接做過32位單精度IEEE-754浮點數的數據采集,LabVIEW如何實現將其轉換為十進制數?轉化的方式如下圖,用C好實現,但是用LabVIEW簡直覺得不可思議。
2016-06-05 15:59:32
ADC轉換的結果是二進制數,那轉換的結果怎么換算成輸入電壓?
ADC轉換的結果是二進制數吧,那轉換的結果怎么換算成輸入電壓?
我知道要用到一個基準電壓!那問題是怎么看一個ADC的基準電壓呢?與輸入電壓的范圍有什么關系呢?
麻煩好心人解答哈?。⌒〉芊浅8兄x
2023-12-14 06:56:44
ADC轉換的結果是二進制數,那轉換的結果怎么換算成輸入電壓?
ADC轉換的結果是二進制數吧,那轉換的結果怎么換算成輸入電壓?我知道要用到一個基準電壓!那問題是怎么看一個ADC的基準電壓呢?與輸入電壓的范圍有什么關系呢?麻煩好心人解答哈??!小弟非常感謝
2019-01-09 11:09:44
BCD碼與十進制數相互轉換,無密碼,可直接用
本帖最后由 kevindandan 于 2019-6-5 16:09 編輯
前面有個串口的小應用,涉及到十進制數與BCD碼的相互轉換,看似很簡單,也花了點時間。附件是LabVIEW2017的代碼,希望同壇友共同交流,有改進意見的可以提,謝謝。
2018-09-08 07:56:13
KEIL5調試時能否把調試窗口中的十六進制數轉換為十進制顯示?
各路神請教大一下,keil5調試時,能否把調試窗口中的十六進制數轉換為十進制顯示,如果可以,該怎么設置?
2019-08-23 04:35:52
LTM4686通過pmbus讀出的寄存器的值,怎么樣轉換為十進制數呢?
LTM4686 通過pmbus讀出的寄存器的值,怎么樣轉換為十進制數呢?是否有轉換公式呢?如溫度、電壓、電流等。
2024-01-05 06:47:13
labview中如何將一個3字節的十六進制數轉換為十進制
求教大神,如何用labview實現將一個3字節的十六進制數轉換為十進制,如將7D8B79轉換為對應的十進制8227705。望大神指點!
2015-07-22 16:39:23
labview中字符串轉換為16進制的數搞不清楚了
我再程序框圖中將VISA讀取函數讀取的字符串通過截取部分字符串的方式拆分成四部分,除了開頭的FF,剩余的我想分成四個數據,但是截取之后轉換為16進制的數時結果為0,求各路大神幫助
2017-04-25 15:42:26
labview編程模擬十進制數到二進制數的轉換過程
模擬十進制數到二進制數的轉換過程,以LED來模擬各個二進制位,并能以動畫方式模擬計數的過程。 選擇手動方式時,將8個LED變成滑動條中數字的二進制(基數2)表示。例如,如果滑動條設置為數字10(在
2018-12-07 22:20:10
labview里單精度浮點數和十六進制數如何相互轉換?
我需要將一個單精度的浮點數(如0.33)轉換為十六進制數然后通過串口發送,同時還需將串口讀取的十六進制數轉換為單精度浮點數。 求問在labview里如何使浮點數和十六進制數相互轉換?
2015-10-14 11:04:28
xilinx網絡服務器怎么將十六進制數轉換為二進制數?
嗨 在xilinx網絡服務器應用程序中,我使用ml402板與xilinx 10.1版本...我能ping,但網頁??沒有彈出將十六進制數轉換為二進制數...請幫我解決這個問題.... 。上次我也沒有得到任何回復我的問題....我正在等待一些有用的建議!!!!
2020-03-26 10:33:33
關于兩位十進制數轉換成二進制數的仿真 求助啊
求助,不怎么懂這題該怎么做。求教。用兩片四位全加器74283和必要的邏輯門設計一個數制轉換電路,實現將輸入的兩位十進制數轉換成二進制數,十進制數的輸入采用8421BCD碼來表示。用multisim仿真畫圖。
2016-07-01 20:13:27
關于十六進制轉換問題請教
我在做下位機與上位機通訊時,返回的是十六進制數組,想將返回數組提取有用數據后(數組2)轉換為十進制數輸出(數組3),再寫入表格控件里。為什么在FOR循環里轉換不了,數組3輸出都是0。請教有經驗高手解答,謝謝!如下圖所示。
2015-01-26 10:02:58
十進制數的位權圖
十進制 好,那就讓我們來看看十進制 所謂十進制就是以10為基數的計數體制,其計數規律是逢十進一?! D1.3.1展示了十進制的位號和位權之間關系的圖解。位號3210-1-2-3十進制數
2009-04-06 23:47:02
十進制轉換十六進制,十進制數字過長,轉換結果報錯
我用數值轉換十六進制的函數,當數字比較短時轉換是沒有問題的,可當數字達到一定長度時,就會出現錯誤的轉換結果,可是我需要這么長的轉換,有沒有高數指點下,謝謝~
2015-04-06 22:21:17
十進制和二進制之間的轉換原理
十進制和二進制之間的轉換 既然一個數可以用二進制和十進制兩種不同形式來表示,那么兩著之間就必然有一定的轉換關系?! ∮墒?b class="flag-6" style="color: red">進制數的一般表示式: 可以得到整數的一般表達式: 將等式兩邊分別除以2
2009-04-06 23:54:14
十六進制和八進制轉換原理
,可以得到十六進制數的一般表達式:例:十六進制轉換為十進制: (4E6)H= 4×162+14×161+6×160 = 4×256+14×16+6×1=(1254)D例:二進制轉換為十六進制
2009-04-06 23:54:44
十六進制數字符串至數值轉換的問題
`通過串口發送和接收數據。接收到的十六進制數據想要變為十進制數據輸出。但是用“十六進制數字符串至數值轉換”這個空間最后的顯示結果是0。自認為是十六進制數中出現了空格的原因。不知哪位高手能夠解答一下如何能將字符串中的空格去掉或者通過其他什么方法能夠將十六進制數轉化為十進制數輸出。謝謝!`
2013-04-09 10:47:40
如何使用printf顯示16進制數
//使用printf顯示16進制數//使用printf顯示16進制數void UART0_ShowHex(uint8 *buf,uint8 len){ uint8 i; printf("
2021-11-26 08:11:49
如何將10進制的一個數如11轉換成16進制數0X0B
如何將10進制的一個數如11轉換成16進制數0X0B,然后與原來的16進制數組 01 02 03 04 05放在一起組成 0B 01 02 03 04 05,我用數值至十六進制字符串轉換這個函數把
2014-09-06 15:36:31
如何將SPI Master轉換為十六進制數?
大家好,我需要通過SPI Master發送十進制數,但是SpimgWruteXDATA()只能發送十六進制數。如何發送小數?如何將它們轉換為十六進制,然后放入SPimeWruteXDATA()函數?問候,Hakob
2019-09-30 11:15:52
如何將labview串口接收到的多路16進制數據轉換成相應的10進制數,并可以選擇輸出
如何將labview串口接收到的多路16進制數據轉換成相應的10進制數,并可以選擇輸出?小弟目前已經做到串口收到的數據先轉換成十進制,強制轉換成整形數據,再除以100,變成2位精度的小數,然后直接
2016-04-07 14:26:40
常用的進制轉換方法
實際工作中,經常需要將某個進制的數轉換成其他進制的數,最常碰到就是10進制轉16進制和10進制轉2進制?! ?0進制轉換成其他進制使用的方法叫“除k取余法”,“除k”中這個k就是我們需要轉換
2021-01-14 16:37:47
怎么將16位二進制數轉換成十進制數的函數?
有沒有人建立一個將16位二進制數轉換成十進制數的函數?謝謝,JB 以上來自于谷歌翻譯 以下為原文Has anyone built a function(s) that converts a 16-bit binary number into decimal?Thanks,JB
2019-03-26 11:21:54
怎么把一個十進制數轉換成4字節的十六進制數?
如題,向串口發送十六進制數,例如10000轉換成0x00,0x00,0x27,0x10,然后送到串口,用數值至十六進制字符串函數,轉成的是2710,不是我希望的,怎么轉啊,求高手,謝謝!
2014-11-08 20:52:31
請問怎么將ASCII碼轉換成16進制數?
遇到麻煩了:用51單片機想把紅外遙控器的鍵值顯示在1602上,可是顯示的是ASCII碼,不能如實反應出遙控器解碼出來的16進制數。如何在1602上顯示出紅外遙控器的16進制鍵值?謝謝!
2019-01-14 04:24:29
二進制與BCD碼轉換資料
6位二進制數轉換成BCD碼的的快速算法-51單片機2010-02-18 00:43在做而論道上篇博文中,回答了一個16位二進制數轉換成BCD碼的問題,給出了一個網上廣泛流傳的經典轉換程序。
2010-08-19 17:42:07
96
96數電期末復習試題
一、填空1.計算機內部使用的數字符號只有____0和1兩個____ 。2.將十進制數175轉換成二進制數為___10101111__ 。3.二進制數(111010010)2轉換成十六進制數是_____(1D2)16____。
2010-08-29 11:27:35
455
455ASCII碼轉換成十六進制數
ASCII碼轉換成十六進制數
入口條件:待轉換的ASCII碼(30H~39H或41H~46H)在A中。出口信息:轉換后的十六進制數(00H~0FH)仍在累加器A
2009-01-19 22:48:59
14624
14624單字節十六進制數轉換成雙字節ASCII碼
單字節十六進制數轉換成雙字節ASCII碼
入口條件:待轉換的單字節十六進制數在累加器A中。出口信息:高四位的ASCII碼在A中,低四位的A
2009-01-19 22:52:22
2892
2892十進制和二進制之間的轉換
十進制和二進制之間的轉換
既然一個數可以用二進制和十進制兩種不同形式來表示,那么兩著之間就必然有一定的轉換關系?! ∮墒?b class="flag-6" style="color: red">進制數的一
2009-04-06 23:53:36
9328
9328
二進制數的運算規則
二進制數的運算規則 二進制數之間可以執行算術運算和邏輯運算,其規則簡單,容易實現?! 。?) 加法運算規則 0 + 0 = 0 例如:
2009-10-13 16:24:15
23784
23784十進制數的編碼與運算
十進制數的編碼與運算 十進制數的每一個數位的基為10,但到了計算機內部,出于存儲與計算方便的目的,必須采用基2碼對每個十進制數位進行重編碼,所需要的最
2009-10-13 17:14:40
11768
11768智能儀表多字節二進制數轉換BCD碼
多字節無符號二進制數轉BCD 碼在以單片機為核心的智能儀表中應用很普遍。本文介紹一種新的轉換方法,并給出三字節二進制數轉BCD 碼的源程序,該程序執行時間僅為原來的1.3%,效率
2011-06-23 16:58:38
54
54二進制數及其他
0題記 在學習計算機基礎或者是數字電子技術、微機原理、單片機、C 語言等課程的時候,都會講到一個概 念:二進制數。就是這個二進制數難倒了很多的英雄漢,上面羅列的這些課程
2011-08-31 09:52:31
9793
9793
進制轉換
本文介紹了二進制、十八六四種之間相互的轉換,大家 本文介紹了二進制、十八六四種之間相互的轉換,大家 本文介紹了二進制、十八六四種之間相互的轉換,大家 本文介紹了二進制、十八六四種之間相互的轉換,大家
2016-08-31 16:11:34
0
051單片機把4位16進制數轉成10進制數的方法
2位16進制轉10進制,用除以10求商跟余數的方法,即可。
4位16進制數呢?DIV指令只可以對2位16進制數進行除法運算啊,那么下面就為大家來解答。
2017-11-24 09:37:00
21905
21905函數轉換BCD編碼二進制數為整型數
BCD碼亦稱二進碼十進數或二-十進制代碼。用4位二進制數來表示1位十進制數中的0~9這10個數碼。它是一種二進制的數字編碼形式,用二進制編碼的十進制代碼。BCD碼這種編碼形式利用了四個位元來儲存一個十進制的數碼,使二進制和十進制之間的轉換得以快捷的進行。
2018-03-14 10:15:42
7346
7346如何利用二進制數實現BCD碼的轉換
編寫子程序Bin2BCD、BCD2Bin實現二進制數到壓縮BCD碼的相互轉換。待轉換的二進制數存放在w寄存器內,子程序調用完成后得到的BCD碼仍存放在w寄存器內返回。例如:
2018-05-19 10:59:00
29148
29148
使用51單片機把4位16進制數轉成10進制數的方法和程序免費下載
本文檔的主要內容詳細介紹的是使用51單片機把4位16進制數轉成10進制數的方法和程序免費下載。
2019-08-23 17:30:00
23
23如何進行ASCII碼和十六進制數的轉換
本文檔的主要內容詳細介紹的是如何使用51單片機進行ASCII碼和十六進制數的轉換資料免費下載題目:用查表法將一位十六進制數轉換為ASCII碼,入口參數放在內部RAM 50H中,出口參數在R0中。
2019-07-08 17:41:00
7
7二進制數轉換成bcd碼
二進制是計算技術中廣泛采用的一種數制。二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是“逢二進一”,借位規則是“借一當二”。
2019-11-22 07:01:00
12790
12790二進制、八進制、十進制、十六進制數的轉換方法
不同進位計數制之間的轉換原則:不同進位計數制之間的轉換是根據兩個有理數如相等,則兩數的整數和分數部分一定分別相等的原則進行的。也就是說,若轉換前兩數相等,轉換后仍必須相等。
2021-03-23 16:14:29
7836
7836十六進制數的表示方法
十六進制數的基數是16,采用的數碼是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A-F分別表示十進制數字10-15.十六進制數的技術規則是“逢十六進一”
2021-06-04 11:02:50
44966
44966淺談PLC中常用進制及相互轉換方法
BCD碼是用四位二進制表示一位十進制數,所以轉換方法類似二進制轉十六進制“取四合一”法,四位組合后轉成十進制得到的就是十進制。
2023-06-10 07:11:00
2464
2464
博途功能ATH:將ASCII字符串轉換為十六進制數
由于 ASCII 字符為 8 位,而十六進制數只有 4 位,所以輸出字長度僅為輸入字長度的一半。ASCII 字符將按照讀取時的順序裝換并保存在輸出中。如果 ASCII 字符數為奇數,則最后轉換的十六進制數右側的半個字節將以“0”進行填充。
2023-06-11 11:34:12
12078
12078
HTA:將十六進制數轉換為ASCII字符串
使用該指令,可以將在輸入 IN 中指定的十六進制數轉換為 ASCII 字符串。轉換結果存儲到參數 OUT 指定的地址中。
2023-06-19 11:55:02
3484
3484HTA:將十六進制數轉換為 ASCII 字符串
說明 使用該指令,可以將在輸入 IN 中指定的十六進制數轉換為 ASCII 字符串。轉換結果存儲到參數 OUT 指定的地址中。 使用參數 N,可指定待轉換十六進制字節的數量。由于 ASCII 字符為
2023-06-26 11:01:42
6622
6622你知道十進制轉二進制如何進行轉換嗎?
你知道十進制轉二進制如何進行轉換嗎? 當我們提到數字系統時,最常見的是十進制系統和二進制系統。十進制是基于10的系統,而二進制是基于2的系統。在這篇文章中,我們將詳細討論如何將十進制數轉換為二進制數
2023-12-20 17:05:47
5018
501810進制轉換為二進制的算法
10進制轉換為二進制是計算機領域中非常重要的一個問題。在計算機中,所有的數據都是以二進制形式進行存儲和處理的。因此,我們常常需要將10進制數轉換為二進制數來滿足計算機處理的需要。 10進制轉換
2024-01-11 09:14:29
5128
512810進制轉換為二進制的算法
十進制轉換為二進制是計算機科學中非?;A且重要的概念之一。在理解和應用計算機科學的基礎知識時,掌握這個算法是至關重要的。 在開始講解十進制轉換為二進制的算法之前,讓我們回顧一下十進制和二進制
2024-01-15 10:32:01
6432
6432bcd與十進制之間的關系
4位二進制數來表示1位十進制數中的0~9這10個數碼,是一種二進制的數字編碼形式。 表示方法 :在BCD碼中,每一位十進制數都被編碼為4位二進制數。例如,十進制數0被編碼為0000,十進制數9被編碼為1001。 二、BCD碼與十進制數之間的轉換 BCD碼轉十進制數 :將BCD碼轉換為十進制數時,只
2024-12-20 17:15:54
4220
4220
電子發燒友App










評論