跳到主要内容

数据类型

数值型数据

进位计数制

(XnXn1X0X1Xm)r(X_nX_{n-1}\cdots X_0X_{-1}\cdots X_{-m})_{r} =Xnrn+Xn1rn1Xmrm= X_nr^n+X_{n-1}r^{n-1}\cdots X_{-m}r^{-m}

  • 数码:可取的xx{XiXi[0,r1]XiN}\{X_i\mid X_i\in [0,r-1],X_i\in N\}
  • 基数rr,会产生进位的数值
  • 权值rir^i,当前位的单位大小为rir^i

这个名字就是普通意思,可以当成生活中的计数方法
计数时伴随进位

形如(10011010)2(10011010)_2或者(738)10(738)_{10}

表示n进制的某某数(10进制的738)

符号表示

概念

注意:这里是表示法,和我们学过的原码反码略有不同

最高位为符号位,符号位0正1负

  • 原码表示法:除符号位以外为二进制绝对值
  • 补码表示法:正数为原码(其本身),负数为补码(反码加1)
  • 反码表示法:除符号位以外正数为原码,负数取反
  • 移码表示法[X]=2n1+X[X]_移=2^{n-1}+X
    • 又称增码表示
    • n为总位数
      就是将数沿数轴正向平移2n12^{n-1}
      可以类比为温度中的开尔文单位
      符号位1正0负
      0000 0000表示-128
    • 注意:IEEE754浮点数使用的移码是上述-1(127)

各表示法公式定义

  • 原码表示法

    [X]原(定点小数)={X,X[0,1)1X=1+X,X[1,0)[X]_{原(定点小数)}= \begin{array}{ll} \begin{cases} X, &\quad\qquad X\in [0,1) \hspace{5000px}\\ 1-X=1+|X|, &\quad\qquad X\in [-1,0) \end{cases} \end{array} [X]原(定点整数)={X,X[0,2n)2nX=2n+X,X[2n,0)[X]_{原(定点整数)}= \begin{array}{ll} \begin{cases} X , &\qquad X\in [0,2^n) \hspace{5000px}\\ 2^n-X=2^n+|X|, &\qquad X\in [-2^n,0) \end{cases} \end{array}
  • 补码表示法

    [X]补(定点小数)={X,X[0,1)2+X=2X,X[1,0)[X]_{补(定点小数)}= \begin{array}{ll} \begin{cases} X , &\qquad\quad X\in [0,1) \hspace{5000px}\\ 2+X=2-|X|, &\qquad\quad X\in [-1,0) \end{cases} \end{array} [X]补(定点整数)={X,X[0,2n)2n+1+X=2n+1X,X[2n,0)[X]_{补(定点整数)}= \begin{array}{ll} \begin{cases} X , &X\in [0,2^n) \hspace{5000px}\\ 2^{n+1}+X=2^{n+1}-|X| , &X\in [-2^n,0) \end{cases} \end{array}
  • 反码表示法

    [X]反(定点小数)={X,X[0,1)(22n)+X,X[1,0)[X]_{反(定点小数)}= \begin{array}{ll} \begin{cases} X , &\qquad\qquad X\in [0,1) \hspace{5000px}\\ (2-2^{-n})+X, &\qquad\qquad X\in [-1,0) \end{cases} \end{array} [X]反(定点整数)={X,X[0,2n)(2n+11)+X,X[2n,0)[X]_{反(定点整数)}= \begin{array}{ll} \begin{cases} X , &\qquad\qquad X\in [0,2^n) \hspace{5000px}\\ (2^{n+1}-1)+X , &\qquad\qquad X\in [-2^n,0) \end{cases} \end{array}
  • [X]=(M+X)modM[X]_补=(M + X) mod M
    M为你取的存储空间的最高位数+1的权值
    也就是能够产生空间溢出的值

若想了解为什么用补码,请移步进制计算

小数表示

概念

  • 范围:取值空间内的最小值到最大值(A到B),取值空间大小
  • 分辨率:单位长度,最小可取的值
  • 比例因子:用来将原始数据缩放到适合定点格式的一个因子(科学计数法的指数部分)
    例如,如果原始数据是10.02,而定点格式是纯小数,那么可以用100作为比例因子,将其变成0.1002

定点数

小数点位置固定不变的数

有符号数最高位为符号位,符号位0正1负

  • 定点整数:小数点隐含在最低位之后
  • 定点小数:纯小数,小数点隐含在最高位(整数位)之后

浮点数

小数点位置不固定的数

数学形式

N=±RE×MN=\pm R^E\times M

RER^E为比例因子,RR为基数,EE为阶码,MM为尾数

阶符和数符分别为阶码和尾数的符号位

实际形式
阶符阶码数符数码
E0E_0E1,E2,EnE_1,E_2\cdots,E_nM0M_0M1,M2,MnM_1,M_2\cdots,M_n
IEEE754浮点数
数符阶码尾数(除数符外)
S0S_0[E][E]_移[M1,M2,Mn][M_1,M_2\cdots,M_n]_原

此处使用的偏移量为127
只移阶码

字符型数据

ASCII

UTF

GBK