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...