关于计算机码表的问题

计算机码表容量怎么计算出来的?比如万国码是两个字节表示一个字符,为什么它只能收录65535个?

因为是万国码是两个字节,1个Byte=8bit,1Mb=1024B,1GB=1024MB,计算机32位的,理论上内存是可以扩充到4GB=2的32次方,而65535是:二进制的0000 0000 0000 0000,16个0到十六个1 :1111 1111 1111 1111,计算机是从0开始的,所以最大到65535,共65536个数

2个字节就是16位,2的16次方等于65535。

import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.io.PrintWriter;

public class Print {
public static void main(String[] args) {
String path = "d:\chars.txt";
int counter =0;

    PrintWriter pw = null;

    PrintStream old = System.out;

    try {
        pw = new PrintWriter(path);
        for(char ch =0;ch <=60000;ch++)
        {
            pw.write(ch);
            System.out.print(ch+" ");
            counter++;
        }
        if(counter%30==0)
        {
            System.out.println();
        }
        System.setOut(old);
        System.out.println("已将[0,60000]围的所有字符一一打印到 " + path + " 文件中了。");
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally{
        if(pw!=null)
        pw.close();
    }
}

}
//这个代码可以显示出万国码的几乎所有码,你运行完,去看看就明白了

因为是万国码是两个字节,1个Byte=8bit,1Mb=1024B,1GB=1024MB,计算机32位的,理论上内存是可以扩充到4GB=2的32次方

因为是万国码是两个字节,1个Byte=8bit,1Mb=1024B,1GB=1024MB,计算机32位的,理论上内存是可以扩充到4GB=2的32次方,而65535是:二进制的0000 0000 0000 0000,16个0到十六个1 :1111 1111 1111 1111,计算机是从0开始的,所以最大到65535,共65536个数