none
內存中的存儲單位是什麽? RRS feed

  • 问题

  • 請問內存中的存儲單位是bit還是byte?

    地址0x001和地址0x002之間是一個bit還是8個bit?

     

    還有一個問題,給定一個字符"過",在c sharp中如何得到它的"gb2312"編碼?


    簽名...
    2010年10月14日 15:22

答案

  • 他们都是存储空间的容量单位。严格的说,无论是内存还是硬盘,最小的存储空间单位都是bit,即一个二进制位,可以存放0或者1,而我们将8bit称之为1byte,想必你应该看到过这种等式:

    • 1byte = 8bit
    • 1K = 1024byte
    • 1M = 1024K
    • 1G=1024M

    因为1bit单位实在是太小,比如GB2312存储一个汉字需要2个字节(byte),也可以说需要16位(bit)。平常交流都以XX字节(byte),XX K,XX兆(M),XX G为基本单位表达容量,毕竟你和人家说我的电脑有1G内存,跟你和人家说我的电脑有8589934592位的内存,前者更容易让人明白你到底有多少内存。这和天文学通常用光年计算距离,而不是用厘米、毫米、微米计算,但他们都是距离单位一个道理。

    地址0x001和地址0x002之間,不应该说相差多少容量,他们都各自代表着内存中一个1字节容量大小的存储空间,所以他们代表的存储空间大小是相等的。利用地址编码给内存中的存储单元进行编码以便定位,以1个字节(8位)为一个单位进行地址编码,比如0x001代表某1个字节容量的存储位置,而0x002代表紧挨着0x001的另外1个字节容量的存储位置。具体你可以找找汇编的书中有关地址那块儿的解释

    第二个问题:

    byte[] buffer = System.Text.Encoding.GetEncoding("GB2312").GetBytes("你");
    buffer.ToList().ForEach(b => Console.Write("{0:X}", b));


    理解的越多,需要记忆的就越少
    • 已编辑 RickyLinModerator 2010年10月15日 6:12 补充地址编码的回答
    • 已建议为答案 mazhou 2010年10月15日 8:37
    • 已标记为答案 zzzliv 2010年10月15日 23:52
    2010年10月15日 6:03
    版主

全部回复

  • 如果指的是物理内存的单位,应该是一个二进制, 0 or 1。

    0x001 - 0x002 之间应该只是一个二进制,而不是 bit or byte。

    2010年10月15日 3:39
  • 他们都是存储空间的容量单位。严格的说,无论是内存还是硬盘,最小的存储空间单位都是bit,即一个二进制位,可以存放0或者1,而我们将8bit称之为1byte,想必你应该看到过这种等式:

    • 1byte = 8bit
    • 1K = 1024byte
    • 1M = 1024K
    • 1G=1024M

    因为1bit单位实在是太小,比如GB2312存储一个汉字需要2个字节(byte),也可以说需要16位(bit)。平常交流都以XX字节(byte),XX K,XX兆(M),XX G为基本单位表达容量,毕竟你和人家说我的电脑有1G内存,跟你和人家说我的电脑有8589934592位的内存,前者更容易让人明白你到底有多少内存。这和天文学通常用光年计算距离,而不是用厘米、毫米、微米计算,但他们都是距离单位一个道理。

    地址0x001和地址0x002之間,不应该说相差多少容量,他们都各自代表着内存中一个1字节容量大小的存储空间,所以他们代表的存储空间大小是相等的。利用地址编码给内存中的存储单元进行编码以便定位,以1个字节(8位)为一个单位进行地址编码,比如0x001代表某1个字节容量的存储位置,而0x002代表紧挨着0x001的另外1个字节容量的存储位置。具体你可以找找汇编的书中有关地址那块儿的解释

    第二个问题:

    byte[] buffer = System.Text.Encoding.GetEncoding("GB2312").GetBytes("你");
    buffer.ToList().ForEach(b => Console.Write("{0:X}", b));


    理解的越多,需要记忆的就越少
    • 已编辑 RickyLinModerator 2010年10月15日 6:12 补充地址编码的回答
    • 已建议为答案 mazhou 2010年10月15日 8:37
    • 已标记为答案 zzzliv 2010年10月15日 23:52
    2010年10月15日 6:03
    版主