16進位制與字元間互相轉換的原理是什麼

2021-04-17 17:35:22 字數 5758 閱讀 3377

1樓:匿名使用者

拿漢字的

bai例子來說吧

每個du漢字在機器內部的機zhi

內碼是唯一的dao

按你說的,「我」的內機內碼是ced2,這樣的容話,是要在輸出的時候進行轉換成漢字,輸出包括螢幕和印表機輸出等。

一般是按照規則將機內碼轉換成區位碼,然後到區位碼這個「表」中去查詢即可。

機內碼轉換:ced2 轉換成 十六進位制區位碼為 2e322e32每兩位換成十進位制的區位碼就是4650也就是說你要把區位碼存在一個表中或陣列中,然後用區位碼進行查詢,區位碼就行號和列號,這樣就可以輸出漢字字元了。通常這個區位碼錶是按自己的需求,來進行優化的,因為可能不需要存所有的漢字,這個表通常叫做字模庫或者字形庫,都是為了輸出用的。

2樓:

對於高階語言文字服務(雙位元組文字),轉換的方法是兩個位元組對應字型表中的一個字元。這只是一個一一對應的關係,沒什麼規律可循。

3樓:

我字的國標編bai碼是ced2。du

中文國標檔案按 編碼位元組zhi順序排列。

我字為順dao序兩子節: 0xce 0xd2

中文國標文版件 可以混合ascii碼。

中文國標檔案讀法:

loop:

讀一位元組

如果數值大於0xa0,再讀第二位元組,兩位元組構成gb碼中文字。goto loop;

如果數值不大於0xa0,它不是gb碼,它是ascii碼。單位元組碼。是eof 則檔案結束,否則 goto loop;

-------------------------------------

中文unicode檔案:

頭部有2-4bytes 特殊碼,告訴big endian 或 小endian

全部是雙位元組編碼。我權字不是ced2。根據endian決定兩位元組是否要交換次序。

------------------------------------

其他中文檔案: 各有巧妙。

4樓:匿名使用者

理解很簡單bai的,「我」在計算機仍du然是16進位制**,zhi沒有你我的概念dao

,都已經提內前轉換好的(按照默容認內碼),除非手動強制編碼轉換,否則就由輸入系統、編譯系統自動轉換好。

其他進位制也是有16進位制(當然儲存時按2進位制)轉換而來的,不信你列印一下轉換表就可以看出來。

5樓:匿名使用者

ascii

把字元的ascii轉換成16進位制的

6樓:鼕蟲夏草

這個實際上是有抄規定的.可以說是轉換表.但是我想一般的編譯器是不用轉換的.

因為輸入法或作業系統,已經幫忙轉換好了.有些輸入法輸入的是unicode碼.

ced2實際上是"我的"gbk碼.

就像72是字元'h'的ascii碼一樣.

gbk 亦採用雙位元組表示,總體編碼範圍為 8140-fefe,首位元組在 81-fe 之間,尾位元組在 40-fe 之間,剔除 xx7f 一條線。總計 23940 個碼位,共收入 21886 個漢字和圖形符號,其中漢字(包括部首和構件)21003 個,圖形符號 883 個。

16進位制轉漢字的原理是什麼

7樓:匿名使用者

比如常用的ansi編碼或unicode編碼等,才能對應一個「漢字」

比如「手」字的ansi編碼是d6ca,而unicode編碼是624b

一、ascii碼是計算機進行資訊交換的最基本字元標準,例如,鍵盤與計算機主機之間的通訊就是靠ascii的標準來支援的。例如: 大寫字母a的ascii碼就是十進位制數65,數字0的ascii就是48,小寫字母a的ascii碼就是十進位制數97等。

二、漢字機內碼與國標碼的換算關係。 把國標碼的漢字**中的區碼與位碼分別換算為16進位制數,然後再分別加上十六進位制數80,即為該漢字的機內碼。 第十三節 數在計算機中的表示 計算機中的數的表示 人們習慣用十進位制數,它有兩個特點:

①基數為10,②逢十進一(其它數制特點亦 n-1 類似),可表示為(a)10=∑ ki*10 i=-m 一)、數制 計算機中採用的是二進位制,因為二進位制具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省裝置等優點,為了便於描述,又常用

八、十六進位制作為二進位制的縮寫。 一般計數都採用進位計數,其特點是: (1)逢n進一,n是每種進位計數製表示一位數所需要的符號數目為基數。

(2)採用位置表示法,處在不同位置的數字所代表的值不同,而在固定位置上單位數字表示的值是確定的,這個固定位上的值稱為權。

在計算機中:d7 d6 d5 d4 d3 d2 d1 d0 只有兩種0和1 二)、數制轉換 不同進位計數制之間的轉換原則:不同進位計數制之間的轉換是根據兩個有理數如相等,則兩數的整數和分數部分一定分別相等的原則進行的。

也就是說,若轉換前兩數相等,轉換後仍必須相等。 要求以下四種進位制: 十進位制:

有10個基數:0 ~~ 9 ,逢十進一 二進位制:有2 個基數:

0 ~~ 1 ,逢二進一 八進位制:有8個基數:0 ~~ 7 ,逢八進一 十六進位制:

有16個基數:0 ~~ 9,a,b,c,d,e,f (a=10,b=11,c=12,d=13,e=14,f=15) ,逢十六進一 1、數的進位記數法 n=an-1*pn-1+an-2*pn-2+…+a2*p2+a1*p1+a0*p0 2、十進位制數與p進位制數之間的轉換 ①十進位制轉換成二進位制:十進位制整數轉換成二進位制整數通常採用除2取餘法,小數部分乘2取整法。

例如,將(30)10轉換成二進位制數。 將(30)10轉換成二進位制數 2|30 ….0 ----最右位 2|15 ….

1 2| 7 ….1 2| 3 ….1 1….

1 ----最左位 ∴ (30)10=(11110)2 將(30)10轉換成

八、十六進位制數 8| 30 ……6 ------最右位 3 ------最左位 ∴ (30)10 =(36)8 16| 30 …14(e)----最右位 1 ----最左位 ∴(30)10 =(1e)16

8樓:聚興碳素

一、ascii碼是計算機進行資訊交換的最基本字元標準,例如,鍵盤與計算機主機之間的通訊就是靠ascii的標準來支援的。例如: 大寫字母a的ascii碼就是十進位制數65,數字0的ascii就是48,小寫字母a的ascii碼就是十進位制數97等。

二、漢字機內碼與國標碼的換算關係。 把國標碼的漢字**中的區碼與位碼分別換算為16進位制數,然後再分別加上十六進位制數80,即為該漢字的機內碼。 第十三節 數在計算機中的表示 計算機中的數的表示 人們習慣用十進位制數,它有兩個特點:

①基數為10,②逢十進一(其它數制特點亦 n-1 類似),可表示為(a)10=∑ ki*10 i=-m 一)、數制 計算機中採用的是二進位制,因為二進位制具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省裝置等優點,為了便於描述,又常用

八、十六進位制作為二進位制的縮寫。

一般計數都採用進位計數,其特點是:

(1)逢n進一,n是每種進位計數製表示一位數所需要的符號數目為基數。

(2)採用位置表示法,處在不同位置的數字所代表的值不同,而在固定位置上單位數字表示的值是確定的,這個固定位上的值稱為權。 在計算機中:d7 d6 d5 d4 d3 d2 d1 d0 只有兩種0和1

二)、數制轉換 不同進位計數制之間的轉換原則:不同進位計數制之間的轉換是根據兩個有理數如相等,則兩數的整數和分數部分一定分別相等的原則進行的。也就是說,若轉換前兩數相等,轉換後仍必須相等。

要求以下四種進位制: 十進位制:有10個基數:

0 ~~ 9 ,逢十進一 二進位制:有2 個基數:0 ~~ 1 ,逢二進一 八進位制:

有8個基數:0 ~~ 7 ,逢八進一 十六進位制:有16個基數:

0 ~~ 9,a,b,c,d,e,f(a=10,b=11,c=12,d=13,e=14,f=15) ,逢十六進一

1、數的進位記數法 n=an-1*pn-1+an-2*pn-2+…+a2*p2+a1*p1+a0*p0

2、十進位制數與p進位制數之間的轉換 ①十進位制轉換成二進位制:十進位制整數轉換成二進位制整數通常採用除2取餘法,小數部分乘2取整法。例如,將(30)10轉換成二進位制數。

將(30)10轉換成二進位制數 2|30 ….0 ----最右位 2|15 ….1 2| 7 ….

1 2| 3 ….1 1….1 ----最左位 ∴ (30)10=(11110)2 將(30)10轉換成

八、十六進位制數 8| 30 ……6 ------最右位

3 ------最左位 ∴ (30)10 =(36)8 16| 30 …14(e)----最右位 1 ----最左位 ∴(30)10 =(1e)16

十進位制,二進位制,八進位制,十六進位制之間互相轉換的方法是什麼??

9樓:匿名使用者

這樣說:1)十進位制轉(二、八、十六)進位制:短除法不斷除以(

二、八、十六),直到最後的被除數小於(

二、八、十六),然後倒序讀出全部數字即可(十六進位制:10~15分別用abcdef表示)。2)(

二、八、十六)進位制轉十進位制:從左到右,(

二、八、十六)^(n-1)*當前數字自身之和(n表示當前數字所處的位置,預設左起第一個數字是0)。3)二進位制轉(

八、十六)進位制:轉八進位制:左起每3位二進位制數字轉化成一個十進位制數字,不足3位前面補0,組合而成就是八進位制。

轉十六進位制:左起每4位二進位制數字轉化成一個十進位制數字,不足4位前面補0,組合而成就是十六進位制。4)(

八、十六)轉二進位制:八進位制情況:每一位轉化成3位二進位制數字,不足前面補充0.

十六進位制情況:每一位轉化成4位二進位制數字,不足前面補充0.5)八進位制和十六進位制:

無法直接轉化,必須先轉化成十進位制(或者其它進位制)過度後轉化。

10樓:匿名使用者

十進位制數人們通常使用的是十進位制。它的特點有兩個:有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,並且每個數碼正好對應三位二進位制數,所以八進位制能很好地反映二進位制。 例如:二進位制資料 ( 11 101 010 .

010 110 1 )2 對應 八進位制資料 ( 3 5 2 . 2 6 4 )8十六進位制數由於二進位制數在使用中位數太長,不容易記憶,所以又提出了十六進位制數  十六進位制數有兩個基本特點:它由十六個字元0~9以及a,b,c,d,e,f組成(它們分別表示十進位制數0~15),十六進位制數運算規律是逢十六進一,即基r=16=2^4,通常在表示時用尾部標誌h或下標16以示區別。

  例如:十六進位制數4ac8可寫成(4ac8)16,或寫成4ac8h。

2進位制8進位制16進位制之間的轉換

一位8進位制 數相當於3位二進 制數,一位16進位制數相當於4位二進位制數,1 二進位制 八進位制 十六進位制和十進位制之間轉換可以用一個公式比方說八進位制456轉換為十進位制為4 8的2次方 5 8的一次方 6 8的0次方 如果是十六進位制就把8變成16。次方是從右向左數第一位為0 第二位為1,以...

16進位制字串轉換成數字的問題,C ,16進位制轉化問題,字串轉化成數字

long ltemp strtol 0xa10b null,16 這樣的話,就將0xa10b這個十六制形式的字串轉為十進位制的數字了.注 strtol的功能就是將字串轉為數字,而後面的16就是進位制,根據需要,你可以是二進位制,八進位制,十進位制,或是十六進位制應該都是可以的.如果出現以下情形之一,...

十六進位制轉漢字,16進位制轉換為漢字

漢字為雙位元組字元,即兩組十六進位制數表示一個漢字,而且前一個字元的asc碼大於 127。給個轉換為字元 包括漢字 delphi 的例子 procedure tform1.button1click sender tobject function deletespace ss string strin...