如何將漢字轉換成二進位制編碼?

如何將漢字轉換成二進位制編碼?使用者14553635951821152019-08-25 18:34:59

各數制之間的轉換 我們用R表示任何數制的基數,討論各數制之間的轉換。 1。R進位制數轉換為十進位制數 二進位制、八進位制和十六進位制數轉換為等值的十進位制數,只要把它們用多項式表示並在十進位制下進行計算,所得的結果就是十進位制數。 2。十進位制數轉換為R進位制數 十進位制數轉換為等值的二進位制、八進位制和十六進位制數,需要對整數部分和小數部分分別進行轉換。其整數部分用連續除以基數R取餘數的方法來完成,小數部分用連續乘以基數R取整數的方法來實現。 基數 基數 基數基數 基數 十進位制100001000100101 二進位制16842 1 八進位制40965126481 十六進位制655364096256161 3。二進位制數與八進位制數、十六進位制數的轉換 二進位制數與八進位制數的轉換應以“3位二進位制數對應1位八進位制數”%的原則進行。同理,因為24=16,則二進位制數與十六進位制數的轉換應以“4位二進位制數對應1位十六進位制數”的原則進行。 四、二進位制數的運算 在計算機中,二進位制數的運算包括算術運算和邏輯運算。 1。二進位制數的算術運算 (1)二進位制數加法 加法原則:逢二進一 (2)二進位制數減法 減法原則:借一當二 (3)二進位制數乘法 乘法原則:與算術乘法形式相同 (4)二進位制數除法 除法原則:與算術除法形式相同 2。二進位制數的邏輯運算 邏輯運算是以二進位制數為基礎的,邏輯變數只有兩個,用來表示邏輯“真”和“假”。 (1)邏輯加法(“或”運算) 運算子號:“+”或“∨” 運算規則:0+0=0;0+1=1;1+0=1;1+1=1; (2)邏輯乘法(“與”運算) 運算子號:“×”或“∧” 運算規則:0×0=0;0×1=0;1×0=0;1×1=1; (3)邏輯“非”運算 運算子號:“-”%運算規則:A&-*=0時,A=1 五、資料型別及資料單位 1。資料的兩種型別 計算機中的資料可概括分為兩大類:數值型資料和字元型資料。所有的非數值型資料都要經過數字化後才能在計算機中儲存和處理。 2。資料單位 在計算機中通常使用三個資料單位:位、位元組和字。位的概念是:最小的儲存單位,英文名稱是bit,常用小寫b或bit表示。用8位二進位制數作為表示字元和數字的基本單元, 英文名稱是byte,稱為一位元組。通常用大“B”表示。 1B(位元組)=8b(位) 1KB(千位元組)=1024B(位元組) 1MB(兆位元組)=1024KB(千位元組) 字長:字長也稱為字或計算機字,它是計算機能並行處理的二進位制數的位數。 六、字元編碼與漢字編碼 1。字元編碼 目前微型機中普遍採用的字元編碼是ASCII碼。它是用七位二進位制數對127個字元進行編碼,其中前32個是一些不可列印的控制符號。 2。漢字編碼及字模資訊 漢字有兩種編碼:國標碼與機內碼。 國標碼是“中華人民共和國國家標準資訊交換漢字編碼”,代號為“GB2312-80”。在國標碼的字符集中,收集了一級漢字3755個,二級漢字3008個,圖形符號682個,共7445個。一個漢字對應一個區位碼,由四位數字組成,前兩位數字為區碼(0~94),後兩位數字為位碼(0~94)。機內碼是指漢字在計算機中的編碼 漢字的機內碼佔兩個位元組,分別稱為機內碼的高位與低位。它們與區位碼的關係如下: 機內碼高位=區碼+A0H 機內碼低位=位碼+A0H 漢字字型檔是由所有漢字的字模資訊構成的。一個漢字字模資訊佔若干位元組,究竟佔多少個位元組由漢字的字形決定。 例如,如果用16×16點陣表示一個漢字,則一個漢字佔16行,每行有16個點,在儲存時用兩個位元組存放一行上16個點的資訊,對應位為“0”表示該點為“白”,“1”表示該點為“黑”。因此,一個16×16點陣的漢字佔32個位元組。 ————————————————————————————————- 描述2進位制的資料結構,用字串直觀,但是效率低,用陣列效率高,但是不直觀。 但是道理相同。 性字轉換後的結果: 010000010000 010010010000 010010010100 111011111110 110010010000 010100010000 010011111110 010000010000 010000010000 010000010000 010111111110 000000000000 144位編碼,這也不可能的, 性字編碼alert asc(“性”)得到-12076,轉化為2進製為-10111100101100 不算正負有14位就夠了。 如果非要補到144位也因該是高位補0。 function c10to2(x) ‘10進位制到2進位制的轉換 dim sign, result result = “” ’符號 sign = sgn(x) x = abs(x) if x = 0 then c10to2 = 0 exit function end if do until x = “0” result = result & (x mod 2) x = x \ 2 loop result = strReverse(result) if sign = -1 then c10to2 = “-” & result else c10to2 = result end if end function ————————————————————————————————- 另外一個人的寫法: function c10to2(x) mysign=sgn(x) x=abs(x) DigS=1 do if x<2^DigS萊垍頭條