信息编码与数据表.ppt

上传人:牧羊曲112 文档编号:5230662 上传时间:2023-06-16 格式:PPT 页数:78 大小:821KB
返回 下载 相关 举报
信息编码与数据表.ppt_第1页
第1页 / 共78页
信息编码与数据表.ppt_第2页
第2页 / 共78页
信息编码与数据表.ppt_第3页
第3页 / 共78页
信息编码与数据表.ppt_第4页
第4页 / 共78页
信息编码与数据表.ppt_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《信息编码与数据表.ppt》由会员分享,可在线阅读,更多相关《信息编码与数据表.ppt(78页珍藏版)》请在三一办公上搜索。

1、1,第3章 信息编码与数据表示,人类用2种最基本的数据类型来表达信息:字符信息:比如:西文:A,B,C等 汉字:大、中、小等数值信息:比如:2,3,4等,2,第3章 信息编码与数据表示,3.1 数值数据的表示 3.2 非数值数据的表示3.3 校验码,3,3.1 数值数据的表示,一、进位计数制二、数据格式三、定点机器数的表示方法四、浮点机器数的表示方法,4,一、进位计数制,1、数制的基本概念2、数制转换3、十进制数的编码,5,1、数制的基本概念,数制的两大要素:基数R:指在这种进位制中允许使用的基本数码个数。基数为R的数制称为R进制数。R进制数的主要特点就是逢R进1。权Wi:权也称位权,指某一位

2、i上的数码的权重值,即权与数码所处的位置i有关。Wi Ri。,6,1、数制的基本概念,假设任意数值N用R进制数来表示,形式为:N=(Dm1Dm-2D0 D-1D-2 D-k)R 其中,Di为该进制的基本符号,Di0,R-1,i=-k,-k+1,m-1,m;小数点在D0和D-1之间。则数值N的实际值为:,7,1、数制的基本概念,例如:R10,即十进制数。它的每一位上的数码Di只能取0,1,2,9;各个数码的权为10i,i指示数码所处的位置,个位i0,十位i1,百位i2,依此类推。思考:二进制、八进制、十六进制?,8,1、数制的基本概念,例1:(2345.459)102103 3102 41015

3、100 410-1 510-2 910-3例2:(11011.011)2124 123 022121 12-0 02-1 12-2 12-3=(27.375)10例3:(123.67)8182 281 38068-1 78-2=(83.859375)10,9,2、数制转换,(1)常用的几种数制的对应关系(2)二、八、十六进制转换为十进制(3)十进制转换为R进制(4)二、八、十六进制之间的转换,10,(1)常用的几种数制的对应关系,11,(2)二、八、十六进制转换为十进制,转换方法:加权求和。(按式41)例:(5AC.E6)16=5162 10161 12160 14161 6162(1452.

4、8984375)10十进制(Decimal)、二进制(Binary)、八进制(Octal)、十六进制(Hexdecimal)数分别用D、B、Q、H来标志。例如:(1011)2(1011)B1011B1011b(123.45)10(123.45)D 123.45D 123.45(2B.D)16=(2B.D)H=(43.8125)10=(53.64)Q,12,(3)十进制转化为R进制,转换方法整数部分:除以R取余,先得低位,直到商为0。小数部分:乘R取整,先得高位,直到积为0或者达到精度要求为止。例:(123.75)10=(?)2(123.75)10=(?)8,1111011.11,173.6,1

5、3,小数部分的精度要求,当小数部分不能整除为二进制时,则乘以2取整的过程中,积不会为0;或者当小数部分转化为二进制位数很长,这时由精度来决定二进制位数。例如:(0.35)10(?)2无法整除(0.6875)10(?)2位数太长若要求精度大于10,则表示“”左右两边的十进制值的差的绝对值10。则我们只需取4位二进制小数即可满足要求,因为1024。,14,(4)二、八、十六进制间的转换,二进制八进制以小数点为中心分别向两边分组,每三位一组,写出对应的八进制数字。(不够位数则在两边加0补足3位)二进制十六进制以小数点为中心分别向两边分组,每四位一组,写出对应的十六进制符号。(不够位数则在两边加0补足

6、4位)例:(1011111.11)2=(?)8=(?)16,137.6,5F.C,15,思考1:八、十六进制如何转化为二进制?,八进制二进制:将每位八进制数展开为3位二进制数,最高位和最低位的0可以略去。十六进制二进制:将每位十六进制数展开为4位二进制数,最高位和最低位的0可以略去。例:(765.23)8=(?)2例:(765.23)16=(?)2,111 110 101.010 011,111 0110 0101.0010 0011,16,常用数制间的转换小结,基数乘除法,多项式替代法,17,思考2:计算机中为什么采用二进制表示数据?,1、具有二值状态的物理器件容易实现。2、二进制的运算规则

7、简单,硬件实现容易。3、具有逻辑特性,可代表“真假”、“是非”。,18,3、十进制数的编码,提出的问题:如何在计算机内使用二进制来表示十进制数据?(1)二十进制码(BCD码)(2)十进制数串的表示方法,19,(1)二十进制码(BCD码),BCD(Binary Coded Decimal)码:使用二进制来编码十进制数字09。编码方法:一般使用4位二进制编码来表示1位十进制数字,在16个编码中选用10个来表示数字09。不同的选择构成不同的BCD码。分类:有权码:编码的每一位都有固定的权值,加权求和的值即是表示的十进制数字。如8421码、2421码、5211码、4311码、84-2-1码等。无权码:

8、编码的每一位并没有固定的权,主要包括格雷码、余3码等。,20,(1)二十进制码(BCD码),互补码 当两个十进制数互为反码(和为9)时,它们对应的二进制码也是0对应1,1对应0。其中2421,5211,4311码,84-2-1码,余3码为互补码。,21,几种常见的BCD码,8421码:特点:4位二进制数位的权从高到低依次是8、4、2、1;8421码实际上就是十进制数字09的二进制编码本身。是最常用的一种BCD码,在没有特别指出的一般情况下,所提到的BCD码通常就是指8421码。,22,在计算机内部实现8421BCD码算术运算,要对运算结果进行修正,对加法运算的修正规则是:如果两个一位BCD码相

9、加之和小于或等于(1001)2,即(9)10,不需要修正;如相加之和大于或等于(10)10,要进行加6修正,并向高位进位,进位可以在首次相加(例2)或修正时(例3)产生。为什么?例1 1+8=90 0 0 1+1 0 0 01 0 0 1不需要修正,几种常见的BCD码,23,例24+9=130 1 0 0+1 0 0 11 1 0 1+0 1 1 0 修正 1 0 0 1 1 进位,例39+7=161 0 0 1+0 1 1 1 1 0 0 0 0+0 1 1 0 修正 1 0 1 1 0 进位,二、十进制数的二进制编码,24,几种常见的BCD码,格雷码:特点:又叫循环码,它的任何相邻的两个编

10、码(例如2和3、7和8、9和0等)之间只有一位二进制位不同。优点:用它构成计数器时,从一个编码变到下一个编码时,只有一个触发器翻转即可,波形更完美、可靠。格雷码的编码方案有许多种。,25,几种常见的BCD码,余3码:对应的8421码加上0011构成的。余3码相加运算规则:当两个余3码相加不产生进位时,应从结果中减去0011;产生进位时,应将进位信号送入高位,本位加0011。为什么?,26,例3.11(28)10+(55)10=(83)10 0 1 0 1 1 0 1 1(28)10+)1 0 0 0 1 0 0 0(55)10 1 1 1 0 0 0 1 1-)0 0 1 1+)0 0 1 1

11、低位+3,高位-3。1 0 1 10 1 1 0,二、十进制数的二进制编码,27,(2)十进制数串的表示方法,字符串形式:用ASCII码来表示十进制数字或符号位,即1个字节存放1位十进制数字或符号位。压缩的十进制数串形式:用BCD码来表示十进制数字,即1个字节存放2个十进制的数字;符号位放在最低位数字位之后,一般用C(12)表示正号,用D(13)表示负号。例如 258被表示成258CH,占用两个字节,-34被表示为034DH,也占用两个字节。共同点:必须给出它在主存中的首地址和位长。优点是位长可变,许多机器中规定该长度从0到31,有的甚至更长。,28,二、数据格式,计算机中参与运算的数据有两种

12、:无符号数据(Unsigned):所有的二进制数据位数均用来表示数值本身,没有正负之分。带符号数据(Signed):二进制数据位,包括符号位和数值位。计算机中的带符号数据又称为机器数。,29,二、数据格式,1、机器数与真值 机器数:把“+”、“-”符号代码化,并保存在计算机中的数据。真值:是指机器数真正表示的数值,用数值并冠以“+”、“-”符号的方法来表示。机器数的编码方法:原码、反码、补码、移码。,30,二、数据格式,2、小数点的表示方法在机器数中,小数点及其位置是隐含规定的;有两种隐含方式:定点数:小数点的位置是固定不变的 浮点数:小数点的位置是浮动的定点机器数分为定点小数、定点整数两种。

13、浮点机器数中小数点的位置由阶码规定,因此是浮动的。,31,二、数据格式,(a)定点整数格式,(c)浮点数格式,(b)定点小数格式,32,三、定点机器数的表示方法,定点机器数的小数点的位置是固定不变的,可以分为两种:定点小数:用于表示纯小数,小数点隐含固定在最高数据位的左边,最高位为符号位。定点整数:用于表示纯整数,小数点位置隐含固定在最低位之后,最高位为符号位。1、原码表示法2、反码表示法3、补码表示法4、移码表示法,33,1、原码表示法,表示方法:最高位表示数的符号,其他位表示数值位。符号位:0正数,1负数。数值位:与绝对值相同。对于定点整数:若X=+X1X2Xn,则X原=0,X1X2Xn;

14、若X=-X1X2Xn,则X原=1,X1X2Xn。对于定点小数:若X=+0.X1X2Xn,则X原=0.X1X2Xn;若X=-0.X1X2Xn,则X原=1.X1X2Xn。,“,”和“.”只用于助记,在计算机中并无专用部件来表示,34,1、原码表示法,例1:X=1011,Y1011,则:X原;Y原;例2:X=0.1101,Y-0.1101,则:X原;Y原;例3:X=1011,Y-0.1101,求X和Y的8位原码机器数。X原;Y原;例4:0原?,0,1011,1,1011,0.1101,1.1101,0,0001011,1.1101000,35,1、原码表示法,0 的表示:0 的原码表示有两种形式,即

15、分别按照正数和负数表示。+0原 000-0原 100表示范围:对于n1位原码机器数X,它所能表示的数据范围为:定点整数:(2n1)X 2n1定点小数:(12n)X 12n缺点:运算(加、减法)低效0有两个表示+0:00000 0:10000,包括1位符号位,n位数值位,36,2、反码表示法,表示方法:最高位表示数的符号,其他位表示数值位。符号位:0正数,1负数。数值位:正数时,与绝对值相同;负数时,为绝对值取反。,37,2、反码表示法,例1:X=1011,Y1011,则:X反;Y反;例2:X=0.1101,Y-0.1101,则:X反;Y反;例3:X=1011,Y-0.1101,求X和Y的8位反

16、码机器数。X反;Y反;例4:0反?,0,1011,1,0100,0.1101,1.0010,0,0001011,1.0010111,38,2、反码表示法,0 的表示:0 的反码表示有两种形式,即分别按照正数和负数表示。+0反 000-0反 111表示范围:对于n1位反码机器数X,它所能表示的数据范围为:定点整数:(2n1)X 2n1定点小数:(12n)X 12n特点:1.反码的和等于和的反码 2.有二个零+0=0.0000-0=1.1111 3.当最高位有进位而丢掉进位(即2)时,要在最低位加1(循环进位),包括1位符号位,n位数值位,39,2、反码表示法,反码运算举例:X=0.1011,Y=

17、-0.0100 X+Y反=X反+Y反=0.1011+1.1011反=10.0110 X+Y反=0.0111(2)X=0.1011,Y=-0.1100 X+Y反=0.1011+1.0011反=1.1110,40,3、补码表示法,表示方法:最高位为符号位,其他位为数值位。符号位:0正数,1负数。数值位:正数时,与绝对值相同;负数时,为绝对值取反后,末位加1。,41,3、补码表示法,例1:X=1011,Y1011,则:X补;Y补;例2:X=0.1101,Y-0.1101,则:X补;Y补;例3:X=1011,Y-0.1101,求X和Y的8位补码机器数。X补;Y补;例4:0补?,0,1011,1,010

18、1,0.1101,1.0011,0,0001011,1.0011000,42,3、补码表示法,0 的表示:0 的补码表示形式是唯一的,即分别按照正数和负数表示均一致,为全零。+0补 000-0补 000表示范围:对于n1位补码机器数X,它所能表示的数据范围为:定点整数:2nX 2n1定点小数:1X 12n,包括1位符号位,n位数值位,43,3、补码表示法,关于补码表示的几个重要结论:计算机中的整型数据(int)均用补码来表示。用补码表示的两数进行加法运算,其结果仍为补码。X+Y补=X补+Y补。X-Y补=X+(-Y)补=X补+-Y补补码的加减乘除运算中,符号位与数值位一样参与运算。,44,3、补

19、码表示法,例 设X=0.1010,Y=0.0101,两数均为正数:X+Y补=0.1010+0.0101补=0.1111补=0.1111X补+Y补=0.1010+0.0101=0.1111即 X+Y补=X补+Y补=0.1111例 设X=0.1010,Y=-0.0101,X为正,Y为负:X+Y补=0.1010+(-0.0101)补=0.0101X补+Y补=0.1010+-0.0101补=0.1010+(2-0.0101)=2+0.0101=0.0101 mod 2即X+Y补=X补+Y补=0.0101,45,4、移码表示法,表示方法:最高位为符号位,其他位为数值位。符号位:1正数,0负数。数值位:正

20、数时,与绝对值相同;负数时,为绝对值取反后,末位加1。,移码表示:即为补码的符号位取反,移码就是在真值基础上加一个常数,这个常数被称为偏置值,即 X移=X+偏置值,46,4、移码表示法,例1:X=1011,Y1011,则:X移;Y移;例2:X=0.1101,Y-0.1101,则:X移;Y移;例3:X=1011,Y-0.1101,求X和Y的8位移码机器数。X移;Y移;例4:0移?,1,1011,0,0101,1.1101,0.0011,1,0001011,0.0011000,47,4、移码表示法,0 的表示:0 的移码表示形式是唯一的,即分别按照正数和负数表示均一致。+0移 100-0移 100

21、表示范围:对于n1位移码机器数X,它所能表示的数据范围为:定点整数:2nX 2n1定点小数:1X 12n移码通常作为浮点数的阶码。原因:便于比较浮点数的大小。阶码大的,其对应的真值就大,阶码小的对应的真值就小。简化机器中的判零电路。当阶码全为0,尾数全为0时,表示机器零。,包括1位符号位,n位数值位,48,5、机器数的移位运算,算术移位的意义:其实质就是使该数乘以或除以2n.有符号数移位规则 1、正数:移位后的空位,添0。2、负数:(1)原码:符号位不变,空位添0。(2)反码:符号位不变,空位添1。(3)补码:左移后,空位添0 右移后,空位添符号位。,49,5、机器数的移位运算,举例:A=(-

22、0.125),试用三种码制表示,并求A左、右各移一位的机器数。,50,6、定点机器数表示小结,定点整数和定点小数真值的表示(n+1=4)定点整数1000=23=2n 0100=22=2n-1 0111=23-1=2n-1定点小数0.100=2-1 0.001=2-3=2-n 0.111=1-2-3=1-2-n机器数就是真值的一种编码,有4种编码方案原码 反码补码移码,51,机器数表示法小结,数,值,0,0,7,-7,1111,7,编,码,原码,反码,补码,移码,0000,0111,52,机器数表示法小结,数,值,0,0,1-2-3,-(1-2-3),1,5,7,编,码,1-2-3,-(1-2-

23、3),1-2-3,-1,-1,1-2-3,原码,反码,补码,移码,1111,0000,0111,53,机器数表示法小结,定点整数:(2n1)X 2n1 定点小数:(12n)X 12n,定点整数:(2n1)X 2n1 定点小数:(12n)X 12n,定点整数:(2n)X 2n1 定点小数:1X 12n,定点整数:(2n)X 2n1 定点小数:1X 12n,原码,反码,补码,移码,54,55,56,6、定点机器数的小结,机器数的定义原码:(1)X原=X 0=X1 1-X=1+|X|-1X=0(2)X原=X 0=X2n 2n-X=2n+|X|-2nX=0,57,6、定点机器数的小结,机器数的定义反码

24、:(1)X反=X 0=X1(2-2-n)+X=2-|X|-1X=0(2)X反=X 0=X2n(2n+1-1)+X=2n+1-|X|-2nX=0,58,6、定点机器数的小结,机器数的定义补码:(1)X补=X 0=X1 2+X=2-|X|-1X=0(2)X补=X 0=X2n 2n+1+X=2n+1-|X|-2nX=0,59,6、定点机器数的小结,机器数的运算原码:符号位不参与运算,减法需要比较绝对值的大小。反码:符号位参与运算,减法可转换为加法,但需要循环进位。补码:符号位参与运算,减法可转换为加法。,60,6、定点机器数的小结,机器数的定义移码:X移=2n+X-2n=X2n 2n为偏置量,61,

25、思考题,BCD码是几进制编码?有哪些?分几类?8421码相加的运算修正规则是什么?为什么?余3码相加的运算修正规则是什么?为什么?格雷码的编码规则?为什么多数计算机采用补码加法器?原码,反码,补码的定义式是什么,如何理解?计算机中存贮的数值型数据和数学中的数的区别有哪些?对于一个8位机器数,用补码表示,最大可以表示多大,最小可以表示多大,形式是什么?(分整数和小数两种情况),62,四、浮点机器数的表示方法,1、浮点机器数的格式2、浮点机器数的规格化表示3、IEEE 754浮点数标准4、浮点数的表示范围,63,1、浮点机器数的格式,浮点机器数用于表示实数,其小数点的位置由其中的阶码规定,因此是浮

26、动的。浮点数N的构成:,浮点数的格式:阶码的底是隐含规定的。,在机器中,为了方便浮点数大小的比较,通常将数符放置在浮点数的首位。,64,1、浮点机器数的格式,尾数M:为定点小数;尾数的位数决定了浮点数有效数值的精度;尾数的符号代表了浮点数的正负,因此又称为数符;尾数一般采用原码和补码表示。阶码E:为定点整数;阶码的数值大小决定了该浮点数实际小数点位置与尾数的小数点位置(隐含)之间的偏移量;阶码的位数多少决定了浮点数的表示范围;阶码的符号叫阶符;阶码一般采用移码和补码表示。阶码的底R:一般为2、8或16,且隐含规定。,65,2、浮点机器数的规格化表示,浮点数的规格化表示:为了充分利用尾数的二进制

27、数位来表示更多的有效数字,将尾数的绝对值限定在某个范围之内。采用规格化形式表示浮点数 可以提高精度。例如:R2,则规格化浮点数的尾数M应满足条件:最高有效位为1,即,66,规格化的根本要求是:(0.1)2=0.5|M|1规格化的尾数表现形式为:规格化原码表示的M是:0.1*或1.1*规格化补码表示的M是:0.1*或1.0*对于非规格化浮点数,可以通过修改阶码和左右移尾数的方法来使其变为规格化浮点数,这个过程叫做规格化。小数点不动,尾数右移1位,阶码加1的规格化,则称为右规小数点不动,尾数左移1位,阶码减1的规格化,则称为左规,67,2、浮点机器数的规格化表示,例:一浮点数的阶码为6位(包括一位

28、阶符),尾数为10位(包括一位数符),阶码与尾数均采用补码表示,阶码的底为2。写出X与Y的规格化浮点数。(1)X123.25(2)Y34/128(1)X(123.25)10(1111011.01)2 0.11110110127,68,2、浮点机器数的规格化表示,EX=+7=(+00111)2,MX=0.111101101EX补=000111,MX 补=1.000010011则:X浮=1 000111 000010011(2)Y(34/128)10(0.010001)2 0.1000121EY=00001,MY=0.100010000EY补=111111,MY 补=0.100010000则:Y浮

29、=0 111111 100010000,69,3、IEEE 754浮点数标准,根据IEEE 754 国际标准,常用的浮点数格式有3种,阶码的底隐含为2。短实数又称为单精度浮点数,长实数又称为双精度浮点数,临时实数主要用于进行浮点数运算时保存临时的计算结果。,单精度浮点数和双精度浮点数的阶码采用移码,但不同的是:它的偏移量不是27和210,而是27-1=127和210-1=1023;尾数使用原码表示,且采用隐藏位,也就是将规格化浮点数尾数的最高位的“1”省略,不予保存,认为它隐藏在尾数小数点的左边。由此,推导出它们的真值计算公式如上表,其中E为阶码ESE1Em的加权求和的值。,70,阶码用移码表

30、示(单精度):,254,0,0,+127,-127,无符号数,移码,Ms,Es E1E7,M1M2M23,Ms,Es E1E10,M1M2M52,IEEE754单精度格式,IEEE754双精度格式,移码通常作为浮点数的阶码。原因:便于比较浮点数的大小。阶码大的,其对应的真值就大,阶码小的对应的真值就小。简化机器中的判零电路。当阶码全为0,尾数全为0时,表示机器零。,71,例3.10:若X和Y均是IEEE 754 标准的单精度浮点数,若X浮点数的存储形式为41360000H,求X的真值。若Y=-135.625,求Y的浮点数表示。,解:(1)X浮=0100 0001 0011 0110 0000

31、0000 0000 0000 B 根据IEEE 754 标准的单精度浮点数格式,有:MS=0,E=ESE1Em=10000010 B=130 D,1.M1 M2 Mn=1.011 0110 0000 0000 0000 0000,X=(-1)MS(1.M1 M2Mn)2E-127=(-1)0(1.011 011)2130-127;X=(+1011.011)2=(+11.375)10(2)Y=(-10000111.101)2;Y=-1.000011110127=(-1)1(1.0000111101)2134-127;因此:MS=1,E=ESE1Em=134 D=10000110 B,1.M1 M

32、2 Mn=1.000 0111 1010 0000 0000 0000 Y浮=1 10000110 000 0111 1010 0000 0000 0000 B=C307A000 H,72,4、浮点数的表示范围,浮点数的表示范围通常:最小(负)数、最大负数、最小正数、最大(正)数。位于最大负数和最小正数之间的数据(除0外),机器无法表示,称为下溢。对于下溢的处理,计算机直接将其视为机器零。当一个数据大于最大(正)数,或者小于最小(负)数时,机器也无法表示,称为上溢,上溢又称溢出。机器零:两层含义若浮点数的尾数为零,无论阶码为何值当阶码的值遇到比它能表示的最小值还要小时(阶码负溢出),无论其尾数

33、为何值。,73,N=M*2E32位字长的机器中,数采用浮点表示,符号位占1位,尾数位占23位,阶符占1位,阶码占7位。阶码用移码表示,尾数用补码表示,采用规格化浮点数表示形式,则其表数范围:,4、浮点数的表示范围,规格化要求第一位数值位和符号位不同,74,练习:写出浮点数格式的规格化和非规格化表示范围。浮点数表示格式为:16位浮点数,阶码6位,包含1位阶符,用移码表示,尾数10位,包含1位数符,用补码表示,阶码在前,尾数(包括数符)在后。,解:(1)规格化表示范围:真值浮点数表示最小数-1231=-2311,11111 1.000000000最大负数-(2-1+2-9)2-32 0,00000

34、 1.011111111最小正数 2-12-32=2-330,00000 0.100000000最大数(1-2-9)2311,11111 0.111111111(2)非规格化表示范围:真值浮点数表示最小数-1231=-2311,11111 1.000000000最大负数-2-92-32=-2-410,00000 1.111111111最小正数 2-92-32=2-410,00000 0.000000001最大数(1-2-9)2311,11111 0.111111111,75,作业,P61:1,2,3,4,5,6,76,课堂练习,1、已知X补1.1010,求X?X原?X反?X移?2、求以下各机器

35、数的十进制真值:,0.0110,1.0110,1.1001,0.1010,77,X原=1,0000000,则X=?X补=1,0000000,则X=?X反=1,0000000,则X=?X移=1,0000000,则X=?X原=1,1101,则X=?X补=1,1101,则X=?X反=1,1101,则X=?X移=1,1101,则X=?X原=0,1000,则X=?X补=1,1000,则X=?X反=0,1000,则X=?X移=0,1000,则X=?,X=-0 X=(-128)10X=(-127)10 X=0 X=-1101B X=-0011B X=-0010 BX=+1101BX=+1000 BX=-1000 BX=+1000BX=-1000 B,-(1111111+1)2,-(1111111)2,78,The End!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号