数据的表示和运算
进制
最低位从0开始计算,注意不同进制之间的转换比例和转换关系。
二进制:2、4、8、16、32、64、128、256、512、1024、2048、4096、8192、16384、32768、65536
八进制:二进制3位,对应八进制的数
十六进制:A:10 B:11 C:12 D:13E:14 F:15
在进行转换的时候,判断高位和低位的状态,不够位数的话要进行补零操作
任意进制转换为十进制:按权位展开,小数的权位是负数
十进制转换任意(二)进制:(整数部分:除基取余法):直接对某进制的数进行除法操作,得到余数(二进制里面就是0和1),这里最高位和最低位就是从下到上的顺序来看。
对于小数部分的转换来讲,采用乘基取余法,比如将十进制数转化为二进制数,先乘以2,看看乘积是否为1,如果是1,就取1,如果是0,就取0,然后将乘积的小数部分再乘以2,一直循环下去。直到小数部分全是0
编码
真值:我们数学上理解的那种带上正负号的那种数;机器数:区分符号位和数值位,通常对于一位的符号位来讲,0表示正数,1表示负数。
BCD编码:采用二进制的方法来表示十进制数。采用4位二进制数来表示0-9的十进制数。但是这个时候往往会出现6种冗余的状态。
8421编码:对于一个4位二进制数,如果从高位(左面)开始每一个位置的权重是8、4、2、1,然后将每个位置上的数和对应的权重进行相乘,最后再一块加起来,看看最后的这个数是不是比9大,如果小于等于9,这就是最终的结果。如果是大于等于10,这时候需要加上一个数字6的二进制数0110进行修正。
余3码:在8421的基础上加上0011形成的一种码
2421码:权重从高位到低位分别是2421,当最终这个数之和大于等于5,最高位是1,小于5就是0。
ASCII编码:7位二进制数进行表示128个字符,包括了0-9字符,大小写英文字母,以及常用的一些符号。0-31是一些计算机的控制字符,32-126是可以印刷字符,包括32空格字符SP,48-57表示0-9;编码127是DEL编码。
汉字编码:GB2312-1980: 采用两个字节进行编码,收录汉字一共7445个。GB18030:编码有1B 2B 4B的编码方式。汉字的编码分类:输入编码、汉字内码、汉字字形码三种。区位码:两个字节:每个字节包括7位码,它也可以用4位十进制数进行表示,前两位表示区码,后两位表示位码。国标码:将区位码转化16进制加上2020H,汉字内码:国标码加上8080H。
字符串
大端模式:字节按照从高位到低位的顺序来进行排列,小端模式:字节按照从低位到高位顺序排列。计算机里面字符串是按照字节进行编址,如01 23 45 67H,大端模式就是01 23 45 67H,小端模式就是67 45 23 01H存储在内存当中。
字符串的边界对齐方式存储:数据在存储的时候可以按照字节、半字、字的形式进行存储。采用边界对齐方式是将不够的存储空间用空白字符填充,使得每一行的空间大小一致。采用空间换时间的想法。而不对齐的方法就是每一行多余的空间用下一行的存储空间进行分割,并且把分隔出来的空间进行填充。但是这样会进行两次访问内存操作。
画图理解1
画图理解2:
转载请注明原文地址:https://blackberry.8miu.com/read-11322.html