h代表的是十六進制。
歷史上,我國在重量單位上一直使用十六進制,比如規(guī)定16兩為一斤。因為把四位轉換成一個十六進制數并不太難,所以十六進制在計算機領域被廣泛使用。
十六進制介紹:十六進制是計算機領域中使用的一種重要的數字系統(tǒng)。對計算機理論的描述,計算機硬件電路的設計,都是非常有益的。比如在邏輯電路設計中,不僅要考慮功能的完備性,還要盡可能少的使用硬件。十六進制可以在一些理論分析中發(fā)揮作用。例如,四位二進制電路最多有十六種狀態(tài),即十六進制形式。只有這十六個狀態(tài)都用了或者用了盡可能多,才能盡可能的利用硬件資源。十六進制更短,因為轉換時一個十六進制數可以頂四個二進制數。
除h以外,其他進制:B表示這個數是二進制,O表示這個數是八進制,H表示這個數是十六進制。d是十進制,十進制,即進位計數制,是一種人工定義的帶進位的計數方法。不進位也有計數法。對于任何一種十進制系統(tǒng),這意味著每個位置上的每個數字都是按每x一位來計數的。
各個進制的常用場景:十進制主要用于日常生活,二進制、八進制、十六進制主要用于電子技術行業(yè)。二進制是數字電路、處理器等最直接的語言。使用八進制和十六進制是因為它們便于轉換記錄。現在的存儲和內存用的比較多的是十六進制,十八進制用的比較少。
進制轉換是人們用符號來計數的一種方法。遞進轉換由一組數字符號和兩個基本因子組成,即“基數”和“比特權重”?;鶖凳侵高M位計數系統(tǒng)中使用的位數(在數制中用來表示“量”的符號)。位是指進位制中每個固定位置對應的單位值。
1、十六進制數:由數字0~9加上字母A-F組成(它們分別表示十進制數10~15),十六進制數運算規(guī)律是逢十六進一,即基數R=16=2^4,通常在表示時用尾部標志H或下標16以示區(qū)別,在c語言中用添加前綴0x以表示十六進制數。
2、二進制數的書寫通常在數的右下方注上基數2,或加后面加B表示,其中B是英文二進制Binary的首字母。
3、八進制用下標8或數據后面加O表示
例如:二進制數據 ( 11 101 010 . 010 110 100 )2 對應八進制數據 (352.264)8或352.264O。
進位制/位置計數法是一種記數方式,故亦稱進位記數法/位值計數法,可以用有限的數字符號代表所有的數值??墒褂脭底址柕臄的糠Q為基數(en:radix)或底數,基數為n,即可稱n進位制,簡稱n進制?,F在最常用的是十進制,通常使用10個阿拉伯數字0-9進行記數。
古代人由于生產勞動的需要,要研究天文和歷法,就牽涉到時間和角度了。因為歷法需要的精確度較高,時間的單位小時,角度的單位度都嫌太大,必須進一步研究他們的小數。它們的小數都具有這樣的性質︰使1/2,1/3,1/4,1/5,1/6等都能成為它的整數倍。以1/60作為單位,就正好具有這個性質。
16進制使用的基本數字有0~9、A~F,共15個,0~9表示的值和10進制的0~9相同,A~F表示10進制的10~15。
例如十進制數57,在二進制寫作111001,在16進制寫作39。在歷史上,中國曾經在重量單位上使用過16進制,比如,規(guī)定16兩為一斤。
如今的16進制則普遍應用在計算機領域,這是因為將4個位元(Bit)化成單獨的16進制數字不太困難。1字節(jié)可以表示成2個連續(xù)的16進制數字??墒牵@種混合表示法容易令人混淆,因此需要一些字首、字尾或下標來顯示。
進制轉換的理論:
1、二進制數、十六進制數轉換為十進制數:
用按權展開法把一個任意R 進制數a n a n-1 ...a1a 0 . a -1 a -2...a -m轉換成十進制數,其十進制數值為每一位數字與其位權之積的和。
a n ×Rn+ a n-1×R n-1 +…+ a 1×R 1 + a 0×R 0 + a -1 ×R -1+ a -2×R -2+ …+ a -m ×R -m
2、十進制轉化成R 進制十進制數輪換成R 進制數要分兩個部分:
整數部分要除R 取余數,直到商為0,得到的余數即為二進數各位的數碼,余數從右到左排列(反序排 列) 。小數部分要乘R 取整數,得到的整數即為二進數各位的數碼,整數從左到右排列(順序排列)。
使用該指令,可以將在輸入 IN 中指定的十六進制數轉換為 ASCII 字符串。轉換結果存儲到參數 OUT 指定的地址中。
使用參數 N,可指定待轉換十六進制字節(jié)的數量。由于 ASCII 字符為 8 位,而十六進制數只有 4 位,所以輸出值長度為輸入值長度的兩倍。在保持原始順序的情況下,將十六進制數的每個半位元組轉換為一個字符。
可最多有 65635 個字符寫入 ASCII 字符串。轉換結果以數字 0 ~ 9 和大寫字母 A ~ F 表示。
該指令不檢測任何錯誤條件。
參數
下表列出了“HTA”指令的參數:
參數聲明數據類型存儲區(qū)說明
INInputPOINTER*I、Q、M、D十六進制數的起始地址
NInputWORDI、Q、M、D、L、P 或常量待轉換的十六進制字節(jié)數
OUTOutputPOINTER*D、L結果的存儲地址。
* 指針格式為雙字,用于跨區(qū)域間接寄存器尋址
示例
只有輸入 I 0.0 的信號狀態(tài)為“1”(激活),才執(zhí)行該指令。在本示例中,N 輸入參數設置為 3,表示要轉換三個十六進制字符。將十六進制字節(jié)存儲在以 IN 指針指定的地址為起點的數據塊 1 中:DB1.DBX10.0。字符串將輸出到由 OUT 指針指定的地址處:從 DB2.DBX0.0 開始(數據塊 2)。





