非数值数据的表示、数据的存储
逻辑值、西文字符、汉字字符
数据宽度单位
大端/小端、对齐存放
编码表示
1.用一位表示。
2.N位二进制可表示N个逻辑数据,或一个位串。
编码运算
1.按位进行
2.按位与、按位或、逻辑左移、逻辑右移
编码识别
逻辑数据和数值数据在形式上并差别,也是一串0/1序列,机器靠指令来识别。
位串
用来表示若干状态位或控制位(OS中使用较多)
例如:x86的标志寄存器含义如下
特点
1.是一种拼音文字,用有限几个字母可拼写出所有单词。
2.只对有限个字母和数学符号、标点符号等辅助字符编码。
3.所有字符总数不超过256个,使用7或8个二进位可表示。
表示(常用编码7位ASCII)
1.十进制数
2.英文字母
3.专用符号
4.控制字符
操作
字符串操作
特点:
1.汉字是表意文字,一个字就是一个方块图形。
2.汉字数量巨大,总数超过6万字,给汉字在计算机内部的表示、汉字的传输与交换、汉字的输入输出等带来的一系列问题。
编码形式
有以下几种汉字代码:
1.输入码:对汉字用相应按键进行编码表示,用于输入
2.内码:用于在系统中进行存储、查找、传送等处理
3.字模点阵或轮廓描述:描述汉字字模点阵或轮廓,用于显示/打印
至少需2个字节才能表示一个汉字内码。
由汉字的总数决定。
可在GB2312国际码的基础上产生汉字内码
为便于打印、显示汉字、汉字字形必须预先存放在机内。
字库(font):所有汉字形状的描述信息的集合。
不同字体对应不同的字库
从字库中找到字形描述信息,然后送设备输出
汉字内码与其在字库中的位置有关。
字形主要又两种描述方法:
字模点阵描述(图像描述)
轮廓描述图形方式)
(1)直线向量轮廓
(2)曲线轮廓
比特是计算机中处理、存储、传输信息的最小单位
二进制信息的计量单位是”字节“,也称”位组“。
1.现代计算机中,存储器按字节编址
2.字节是最小可寻址单位
3.如果一个字节为一个排序单位,则LSB表示最低有效字节,MSB表示最高有效字节。
字和字长概念不同
字长指数据通路的宽度
字长等于CPU内部总线的宽度、运算器的位数、通用寄存器的宽度。
字表示被处理信息的单位,用来度量数据类型的宽度。
字和字长的宽度可以一样,也可不同
容量的单位:
KB、MB、GB、TB进制是1024
带宽使用的单位
kb/s、Mb/s、Gb/s、Tb/s
C语言中数值数据类型的宽度(单位:字节)
同类型数据并不是所有机器数都采用相同的宽度,分配的字节数随机器字长和编译器的不同而不同。
数据的存储和排列顺序
所有机器用字节编码
ISA设计时考虑两个问题:
如何根据一个字节地址取到一个32位的字—字的存放问题
一个字能否存放在任何字节边界—字的边对齐
大端方式:从左往右存,左边低储存地址,但是存放的是数据字节的高位。
小端方式:根据的是低地址为低字节,低地址在右,字的低字节也在右。
每个系统内部是一致的,但在系统间通信时可能会发生问题
因为顺序不同,需要顺序转换。
音、视频和图像等文件格式或处理程序都涉及到字节顺序问题。
对齐
如,int i,short k,double x,char c,short j,
虽然节省了空间但是增加了访问次数,需要权衡,浪费一点没关系。所以上面那种好。
存储器按字节编址。
每次只能读写某个字地址开始的4个单元中连续1个、2个、3个或4个字节。