2008年10月14日 星期二

文字與數字資料表示法

  • 10進位轉為其它進位系統(包括2進位、8進位、16進位等),整數用除法小數用乘法

  • 其它進位系統轉為10進位,數字乘權值再加總,例如:

    • 2345.4(8)=2x83+3x82+4x81+5x80+4x8-1

    • 2B3.C(16)=2x162+11x161+3x160+12x16-1

    • 1011.01(2)=1x23+1x21+1x20+1x2-2

  • 2進轉8進位,自小數點往左右分組,每3位數為一組,再轉為8進位:1011011010.0011=001 011 011 010 . 001 100=1332.14

  • 8進位轉2進位以相反方式轉換。

  • 2進轉16進位,自小數點往左右分組,每4位數為一組,再轉為16進位:1011011010.001101= 0010 1101 1010 . 0011 0100=2DA.34

  • 16進位轉2進位,以相反方式轉換。

  • 善用權值觀念,可以加快計算,如下:
    2進位自個位數開始往左的權值依序為1、2、4、8、16….,所以2進位

    101101=1+4+8+32(自右往左),
    反之,14=8+4+2,2進位就是1110,25=16+8+1,所以2進位就是11001。

  • 須記下的ASCII字元及:”A”65,”a”97,”0”48,空白32。

  • 數字1,以二進位儲存成00000001;但若是文字”1”,則以ASCII編碼儲存成00110001,即10進位的49。

  • EBCDIC碼是IBM公司由期在大型主機上使用的內碼,因為也是英文系統,所以每一個字佔用8個位元,即1個位元組。

  • 用8個位元來儲存文字字元,則因28=256,所以最多可以表示出256種不同的符號,同理,若以7個位元來儲存,則最多可表示27=128種不同符號。

  • ASCII每一個字元佔用1個位元組,中文內碼則佔用2個位元組。

  • 行列輸入法打出”致”,須輸入「AXR.」,這叫「輸入碼」;存成檔案時,這個字會以16進位的「AD50」儲存,這稱為「內碼」。

  • 最普遍的英文內碼是ASCII,最普遍的中文內碼是BIG-5,但國家中文交換碼是通用漢字標準交換碼CISCII

  • unicode通用碼不論中文或英文或任一國家語系,皆採二個位元組,可解決不同語系衝碼的問題,並可在同一頁面顯示不同語系的文字,例如中日文夾雜在一篇文章中。

  • 16位元的整數系統,且以2補數表示負數,則數字範圍為32767~-32768,解法:
    2
    16=65536,即共有65536個數字,正數分一半共32768個:0~32767,負數分一半32768個:-1~-32768

  • 上題若以1補數表示負數,正負數仍各佔一半32768個,但正數為0~32767,負數為-0~-32767(!!兩個0)

  • 若整數系統是不帶號整數,則上則中65536個數字都是正數,範圍則是0~65535(注意! 0是正數)

  • 若某一電腦以以2補數表示負數,則11101110因為第一位元為1,表示是負數,若以10進位來表示,這個數字代表的是-(00010001+1)=-18

沒有留言: