存储字符空间
① 在计算机内存中要存放256个ASCII码字符,需多大存储空间
ascii码换算的最小单位是字节,所以在计算机内存中要存放256个ASCII码字符,需要256个字节的存储空间。
字节(Byte)是存储数据的基本单位,并且是硬件所能访问的最小单位。CPU 只能直接处理内存数据,不能直接处理硬盘数据。硬盘数据必须先调入内存条中才可以运行。内存中存储数据的最小单位是“位(Bit)”。字节是存储数据的基本单位,位是存储数据的最小单位,不要混淆了。
内存里面存放的全是二进制代码。内存里面有很多“小格子”,每个“格子”中只能存放一个 0 或 1。一个“小格子”就是一位,所以“位”要么是 0,要么是 1,不可能有比位更小的单位。那么字节和位是什么关系呢?8 个“小格子”就是一字节,即一字节等于 8 位。
(1)存储字符空间扩展阅读:
计算机存储信息的基本单位称存储元件,每个存储元件是一个二进制位,一位可存放一个二进制数0或1。每8位组成一个字节。由于8086CPU是16位数据总线,则其字长是16位,由2个字节组成。
在存储器内是以字节为单位来存储信息的,因而对存储器的编址是按字节编址,从而使CPU根据地址编号找到存储器中的操作数或者说CPU根据地址编号访问该存储单元的内容地址从0开始编号;
顺序地每个地址加1,在计算机内地址也是用二进制数表示,地址是一个无符号整数,为了书写方便和编程,在源程序中常用十六进制数或符号来表示一个存储单元的地址。
② 在计算机内存中要存放256个ASCII码字符,需( )的存储空间 高手指点为什么要存放256个字节,是什么意思
ASCII码划分为两个集合:128个字符的标准ASCII码和附加的128个字符的扩充和ASCII码。标准ASCII码为7位,扩充为8位。
ascii,美国标准信息交换码,使用1个字节(8位二进制)的低7位,用于存储字符,编号从0开始到127,所以答案是7位二进制没有错。
但由于浪费了1位,所以又进行了改进,添加了一些制表符,从而将8位全部使用,而现在的计算机系统中使用的ascii,全部使用扩展的ascii,但平时不再说扩展ascii码。都称为ascii。
(2)存储字符空间扩展阅读:
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示。
而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。
③ 存储字符串“a”需要至少占用存储空间中的几个字节
存储字符串“a”需要至少占用存储空间中的2个字节。
字符串是用双引号(“”)括起来的由零个或多个字符组成的有限序列。字符串在存储上是使用单个字符代码的数组,每个字符占用一个字节。由于每个字符串尾自动加一个‘\0’作为字符串结束标志。
所以字符串“a”的长度使用单字符'a'和单字符‘\0’共2个单字符代码的数组进行存储,即占用存储空间中的2个字节。
(3)存储字符空间扩展阅读:
在程序设计中,字符串通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。
由于在程序中经常出现大量String对象的值相同的情况,造成内存空间的冗余。为了有效地利用内存,预留了一块特殊的内存区域,称为String常量池。当编译器遇到一个String常量时,先检查常量池中是否存在值相同的String常量,如果存在,则把该常量的引用指向常量池中的String常量。