计算机组成原理——浮点数表示及运算.ppt

上传人:wj 文档编号:11959977 上传时间:2023-06-03 格式:PPT 页数:54 大小:934KB
下载 相关 举报
计算机组成原理——浮点数表示及运算.ppt_第1页
第1页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第2页
第2页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第3页
第3页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第4页
第4页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第5页
第5页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第6页
第6页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第7页
第7页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第8页
第8页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第9页
第9页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第10页
第10页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第11页
第11页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第12页
第12页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第13页
第13页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第14页
第14页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第15页
第15页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第16页
第16页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第17页
第17页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第18页
第18页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第19页
第19页 / 共54页
计算机组成原理——浮点数表示及运算.ppt_第20页
第20页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机组成原理——浮点数表示及运算.ppt

《计算机组成原理——浮点数表示及运算.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理——浮点数表示及运算.ppt(54页珍藏版)》请在冰点文库上搜索。

计算机组成原理——浮点数表示及运算.ppt

计算机组成原理,2023年6月3日,浮点数表示及运算,一、浮点数的表示,N=Rem=2EM=2e(m),E0,M0,91028=0.910-2721033=0.21034任意一个十进制数可以写成=10E(十进制表示),计算机中一个任意进制数可以写成,m:

尾数,是一个纯小数。

e:

浮点的指数,是一个整数。

R:

基数,对于二进计数值的机器是一个常数,一般规定为2,8或16,浮点数的表示范围,负上溢,N=2EM|N|产生正上溢或者负上溢|N|0产生正下溢或者负下溢,尾数:

用定点小数表示,给出有效数字的位数,决定了浮点数的表示精度阶码:

用定点整数形式表示,指明小数点在数据中的位置,决定了浮点数的表示范围。

一个机器浮点数由阶码和尾数及其符号位组成:

最大正数,最小正数,最小负数,最大负数,8位定点小数可表示的范围0.0000001-0.11111111/128-127/128设阶码2位,尾数4位可表示2-11*0.0001-211*0.11110.0000001-111.1设阶码3位,尾数3位可表示2-111*0.001-2111*0.1110.0000000001-1110000,机器字长一定时,阶码越长,表示范围越大,精度越低浮点数表示范围比定点数大,精度高,一个浮点数有不同的表示:

0.5;0.05101;0.005102;5010-2,为提高数据的表示精度,需做规格化处理。

浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来组成。

二、浮点数规格化,把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改阶码实现。

在计算机内,其纯小数部分被称为浮点数的尾数,对非0值的浮点数,要求尾数的绝对值必须=1/2,即尾数域的最高有效位应为1,称满足这种表示要求的浮点数为规格化表示:

0.1000101010,规格化目的:

为了提高数据的表示精度为了数据表示的唯一性尾数为R进制的规格化:

绝对值大于或等于1/R二进制原码的规格化数的表现形式:

正数0.1xxxxxx负数1.0xxxxxx,正数0.1xxxxxx负数1.1xxxxxx,补码尾数的规格化的表现形式:

尾数的最高位与符号位相反。

解:

12310=11110112=0.11110110002277移=10000+00111=101110.1111011000补=0.1111011000123浮=1011101111011000=BBD8H,例:

对数据12310作规格化浮点数的编码,假定1位符号位,基数为2,阶码5位,采用移码,尾数10位,采用补码。

S尾数符号,0正1负;M尾数,纯小数表示,小数点放在尾数域的最前面。

采用原码表示。

E阶码,采用“移码”表示(移码可表示阶符);阶符采用隐含方式,即采用移码方法来表示正负指数。

为便于软件移植,使用IEEE(电气和电子工程师协会)标准IEEE754标准:

尾数用原码;阶码用“移码”;基为2。

三、浮点数的标准格式IEEE754,规格化浮点数的真值,x=(-1)s(1.)2127e=127,一个规格化的32位浮点数的真值为:

32位浮点数格式:

x=

(1)s(1.)21023,一个规格化的64位浮点数的真值为:

这里e是真值,是机器数,1.隐藏位技术,2.阶码用“移码”偏移值127而不是128,Emin=1,Emax=254/2046,原码非0值浮点数的尾数数值最高位必定为1,则在保存浮点数到内存前,通过尾数左移,强行把该位去掉,用同样多的位数能多存一位二进制数,有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。

当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。

例:

若浮点数x的二进制存储格式为(41360000)16,求其32位浮点数的十进制值。

解:

0100,0001,0011,0110,0000,0000,0000,0000数符:

0阶码:

1000,0010尾数:

011,0110,0000,0000,0000,0000指数e阶码127100000100111111100000011=(3)10包括隐藏位1的尾数:

1.M1.011011000000000000000001.011011,于是有x

(1)s1.M2e(1.011011)231011.011(11.375)10,例:

将十进制数20.59375转换成32位浮点数的二进制格式来存储。

解:

首先分别将整数和分数部分转换成二进制数:

20.5937510100.10011然后移动小数点,使其在第1,2位之间10100.100111.01001001124e4于是得到:

e=127S0,E4127131=1000,0011,M010010011最后得到32位浮点数的二进制存储格式为01000001101001001100000000000000(41A4C000)16,解:

-0.75=-3/4=-0.112=-1.12-1=(-1)1(1+0.10000000000000000000000)2-1=(-1)1(1+0.10000000000000000000000)2126-127s=1,E=12610=011111102,F=1000000。

1011,1111,0100,0000,0000,0000,0000,0000BF400000H,例:

将十进制数-0.75表示成单精度的IEEE754标准代码。

单精度浮点数编码格式,+0/-0,0,0,0/1,(-1)S(0.f)2(-126),f(非零),0,0/1,(-1)S(1.f)2(e-127),f,1254,0/1,-,0,255,1,+,0,255,0,sNaNSignalingNaN,非零0xxxx,255,0/1,NaNNotaNumber,非零1xxxx,255,0/1,表示,尾数,阶码,符号位,IEEE754规格化浮点数表示范围,Emax=2046,f=1.1111,1.111122046-1023=21023(2-2-52),Emin=1,M=0,1.021-1023=2-1022,双精度,Emax=254,f=1.1111,1.11112254-127=2127(2-2-23),Emin=1,M=0,1.021-127=2-126,单精度,最大值,最小值,格式,设有两个浮点数和,它们分别为:

浮点加减法运算,其中Ex和Ey分别为数和的阶码,Mx和My为数和的尾数。

两浮点数进行加法和减法的运算规则是:

(Mx2ExEyMy)2EyEx=Ey,2ExM2EyM,完成浮点加减运算的操作过程大体分为:

(1)0操作数的检查;,

(2)比较阶码大小并完成对阶;,(3)尾数进行加或减运算;,(4)结果规格化。

(5)舍入处理。

(6)溢出处理。

使二数阶码相同(即小数点位置对齐),这个过程叫作对阶。

先求两数阶码Ex和Ey之差,即E=ExEy若E=0,表示Ex=Ey若E0,ExEy若E0,ExEy,通过尾数的移动来改变Ex或Ey,使其相等。

对阶原则阶码小的数向阶码大的数对齐;对阶过程小阶的尾数右移,每右移一位,其阶码加1(右规)。

(2)对阶,

(1)0操作数检查,210*(0.11000)+28*(0.00110)大阶对小阶210*(0.11000)-28*(11.000)11.000+0.00110?

小阶对大阶28*(0.00110)-210*(0.00001)0.00001+0.11000=0.11001,例:

x=2010.1101,y=211(-0.1010),求x+y=?

解:

为便于直观了解,两数均以补码表示,阶码、尾数均采用双符号位。

x补=0001,00.1101y补=0011,11.0110E补=Ex补Ey补=0001+1101=1110E=-2,表示Ex比Ey小2,因此将x的尾数右移两位.右移一位,得x补=0010,00.0110再右移一位,得x补=0011,00.0011至此,E=0,对阶完毕.,尾数求和方法与定点加减法运算完全一样。

对阶完毕可得:

x补=0011,00.0011y补=0011,11.0110对尾数求和:

00.0011+11.011011.1001即得:

x+y补=0011,11.1001,(3)尾数求和运算,(4)结果规格化,求和之后得到的数可能不是规格化了的数,为了增加有效数字的位数,提高运算精度,必须将求和的结果规格化。

规格化的定义:

(二进制),对正数:

S=00.1对负数:

S=11.0,采用双符号位的补码:

采用原码:

正数:

S=0.1负数:

S=1.1,规格化规则,运算结果产生溢出时,必须进行右归如变形补码结果出现10.XX或者01.XXX如运算结果出现0.0XXX或1.1XX必须左归左归时最低数据有效位补0右归时连同符号位进位位一起右移左归时,阶码作减法,右归时,阶码作加法,00.0XXXX-00.1XXX0左规11.1XXXX-11.0XXX0左规01.XXXXX-00.1XXXX右规10.XXXXX-11.0XXXX右规,规格化方法,例:

两浮点数x=0.1101210,y=(0.1011)201,求x+y。

解:

x补=0010,00.1101y补=0001,00.1011对阶:

E补=Ex补Ey补=0010+1111=0001y向x对齐,将y的尾数右移一位,阶码加1。

y补=0010,00.0101,x+y补=0010,01.0010,右归:

运算结果两符号位不同,其绝对值大于1,右归。

x+y补=0011,00.1001,求和:

00.1101+00.010101.0010,在对阶或向右规格化时,尾数要向右移位,这样,被右移的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行舍入处理。

简单的舍入方法有两种:

“0舍1入”法即如果右移时被丢掉数位的最高位为0则舍去,反之则将尾数的末位加“1”。

“恒置1”法即只要数位被移掉,就在尾数的末位恒置“1”。

从概率上来说,丢掉的0和1各为1/2。

(5)舍入处理,在IEEE754标准中,舍入处理提供了四种可选方法:

就近舍入其实质就是通常所说的四舍五入。

例如,尾数超出规定的23位的多余位数字是10010,多余位的值超过规定的最低有效位值的一半,故最低有效位应增1。

若多余的5位是01111,则简单的截尾即可。

对多余的5位10000这种特殊情况:

若最低有效位现为0,则截尾;若最低有效位现为1,则向上进一位使其变为0。

朝0舍入即朝数轴原点方向舍入,就是简单的截尾。

无论尾数是正数还是负数,截尾都使取值的绝对值比原值的绝对值小。

这种方法容易导致误差积累。

朝舍入对正数来说,只要多余位不全为0则向最低有效位进1;对负数来说则是简单的截尾。

朝舍入处理方法正好与朝舍入情况相反。

对正数来说,只要多余位不全为0则简单截尾;对负数来说,向最低有效位进1。

(6)溢出处理,与定点加减法一样,浮点加减运算最后一步也需判溢出。

在浮点规格化中已指出,当尾数之和(差)出现01或10时,并不表示溢出,只有将此数右规后,再根据阶码来判断浮点运算结果是否溢出。

若机器数为补码,尾数为规格化形式,并假设阶符取2位,阶码取7位、数符取2位,尾数取n位,则它们能表示的补码在数轴上的表示范围如图所示。

图中A,B,a,b分别对应最小负数、最大正数、最大负数和最小正数。

它们所对应的真值分别是:

A最小负数2+127(-1)B最大正数2+127(1-2-n)a最大负数2-128(-2-1-2-n)b最小正数2-1282-1,最小负数,最大正数,最大负数,最小正数,图中a,b之间的阴影部分,对应阶码小于128的情况,叫做浮点数的下溢。

下溢时浮点数值趋于零,故机器不做溢出处理,仅把它作为机器零。

图中的A、B两侧阴影部分,对应阶码大于127的情况,叫做浮点数的上溢。

此刻,浮点数真正溢出,机器需停止运算,作溢出中断处理。

一般说浮点溢出,均是指上溢。

可见,浮点机的溢出与否可由阶码的符号决定:

阶码j补=01,为上溢,机器停止运算,做中断处理;阶码j补=10,为下溢,按机器零处理。

例:

若某次加法操作的结果为X+Y补=11.010,00.0000110111,则应对其进行向左规格化操作:

尾数为:

00.1101110000,阶码减4:

11.010+11.100-4补10.110,例:

若某次加法操作的结果为X+Y补=00.111,10.1011100111,则应对其进行向右规格化操作:

尾数为:

11.0101110011,阶码加1:

01.000阶码超出了它所能表示的最大正数(+7),表明本次浮点运算产生了溢出。

阶码超出了它所能表示的最小负数(-8),表明本次浮点运算产生了溢出。

例:

两浮点数x=21010.11011011,y=2111(-0.10101100)。

假设尾数在计算机中以补码表示,可存储10位尾数,2位符号位,阶码以补码表示,双符号位,求x+y。

解:

将x,y转换成浮点数据格式x浮=00101,00.11011011Y浮=00111,11.01010011+100111,11.01010100步骤1:

对阶,阶差为Ex-Ey=Ex补+-Ey补-Ey补=11000111001Ex-Ey001011100111110(000011)0001020Ex-Ey0ExEy小阶对大阶,X阶码加2X尾数右移2位,解:

将x,y转换成浮点数据格式x浮=00101,00.11011011Y浮=00111,11.01010011+100111,11.01010100步骤1:

对阶,阶差为Ex-Ey=Ex补+-Ey补Ex-Ey20Ex-Ey0ExEy小阶对大阶,X阶码加2X尾数右移2位x浮=00111,00.00110110(11)步骤2:

尾数求和X+Y浮=00111,00.00110110(11)+00111,11.01010100=00111,11.10001010(11),步骤2:

尾数求和X+Y浮=00111,00.00110110(11)+00111,11.01010100=00111,11.10001010(11)步骤3:

计算结果规格化X+Y浮为非规格化数,左归一位,阶码减一,00110,11.00010101

(1)步骤4:

舍入处理X+Y浮=00110,11.00010110(0舍1如法)X+Y浮=00110,11.00010101(截去法)步骤5:

溢出判断无溢出X+Y浮=2110x(-00.11101011),例设=20100.11011011,=2100(-0.10101100),求+。

解:

阶码采用双符号位,尾数采用单符号位,则它们的浮点表示分别为x浮=00010,0.11011011y浮=00100,1.01010100

(1)求阶差并对阶,E=Ex-Ey=Ex补+-Ey补=00010+11100=11110,x浮00100,0.00110110(11),其中(11)表示M右移2位后移出的最低两位数。

即E为-2,x的阶码小,应使Mx右移两位,Ex加2,

(2)尾数求和,(4)舍入处理,采用0舍1入法处理,则有:

1.00010101+11.00010110,0.00110110(11)+1.010101001.10001010(11),(3)规格化处理尾数运算结果的符号位与最高数值位为同值,应执行左规处理,结果为1.00010101(10),阶码为00011。

(5)判断溢出阶码符号位为00,不溢出,故得最终结果为x+y=2011(-0.11101010),例:

两浮点数x=2010.1101,y=211(-0.1010)。

假设尾数在计算机中以补码表示,可存储4位尾数,2位保护位,阶码以原码表示,求x+y。

解:

将x,y转换成浮点数据格式x浮=0001,00.1101y浮=0011,11.0110步骤1:

对阶,阶差为11-01=10,即2,因此将x的尾数右移两位,得x浮=0011,00.001101步骤2:

对尾数求和,得:

x+y浮=0011,11.100101步骤3:

由于符号位和第一位数相等,不是规格化数,向左规格化,得x+y浮=0010,11.001010步骤4:

截去。

x+y浮=0010,11.0010步骤5:

数据无溢出,因此结果为x+y=210(-0.1110),浮点乘除法运算,1.浮点乘法、除法运算规则,设有两个浮点数和:

2ExMx2EyMy浮点乘法运算的规则是:

2(Ex+Ey)(MxMy)即:

乘积的尾数是相乘两数的尾数之积;乘积的阶码是相乘两数的阶码之和。

浮点除法运算的规则是:

2(ExEy)(MxMy)即:

商的尾数是相除两数的尾数之商;商的阶码是相除两数的阶码之差。

2.浮点乘、除法运算步骤,浮点数的乘除运算大体分为四步:

(1)0操作数检查;

(2)阶码加/减操作;(3)尾数乘/除操作;(4)结果规格化及舍入处理。

(2)浮点数的阶码运算,对阶码的运算有1、1、两阶码求和、两阶码求差四种,运算时还必须检查结果是否溢出。

在计算机中,阶码通常用补码或移码形式表示。

移码的运算规则和判定溢出的方法,移码的定义为x移=2n+-2nx2n,x移+y移=2n+2n+,=2n+移,按此定义,则有,=2n+(2n+(+),+移=-2n+x移+y移,考虑到移码和补码的关系:

对同一个数值,其数值位完全相同,而符号位正好完全相反。

y补的定义为y补=2n+1+则求阶码和用如下方式完成:

=2n+1+(2n+(+),x移+y补=2n+2n+1+,即:

+移=x移+y补(mod2n+1),同理:

-移=x移+-y补(mod2n+1),混合使用移码和补码,使用双符号位的阶码加法器,并规定移码的第二个符号位,即最高符号位恒用0参加加减运算,则溢出条件是结果的最高符号位为1:

当低位符号位为0时,(10)表明结果上溢,当低位符号位为1时,(11)表明结果下溢。

当最高符号位为0时,表明没有溢出:

低位符号位为1,(01)表明结果为正;为0,(00)表明结果为负。

阶码运算结果溢出处理,例:

=+011,=+110,求x+y移和x-y移,并判断是否溢出。

解:

阶码取3位(不含符号位),其对应的真值范围是-8+7,x移=01011,y补=00110,-y补=11010,x+y移=x移+y补=,x-y移=x移+-y补=,01011+0011010001,结果上溢。

结果正确,为-3。

01011+1101000101,(3)尾数处理,浮点加减法对结果的规格化及舍入处理也适用于浮点乘除法。

第一种方法是:

无条件地丢掉正常尾数最低位之后的全部数值。

这种办法被称为截断处理,好处是处理简单,缺点是影响结果的精度。

第二种办法是:

运算过程中保留右移中移出的若干高位的值,最后再按某种规则用这些位上的值修正尾数。

这种处理方法被称为舍入处理。

当尾数用原码表示时:

最简便的方法是,只要尾数的最低位为1,或移出的几位中有为1的数值位,就使最低位的值为1。

另一种是0舍1入法,即当丢失的最高位的值为1时,把这个1加到最低数值位上进行修正,否则舍去丢失的的各位的值。

这样处理时,舍入效果对正数负数相同,入将使数的绝对值变大,舍则使数的绝对值变小。

舍入处理,当尾数是用补码表示时:

采用0舍1入法时,若丢失的位不全为0时:

对正数来说,舍入的结果与原码分析相同;对负数来说,舍入的结果与原码分析相反,即“舍”使绝对值变大,“入”使绝对值变小;为使原、补码舍入处理后的结果相同,对负数可采用如下规则进行舍入处理:

当丢失的各位均为0时,不必舍入;当丢失的最高位为0,以下各位不全为0时,或者丢失的最高位为1,以下各位均为0时,则舍去丢失位上的值;当丢失的最高位为1,以下各位不全为0时,则执行在尾数最低位入1的修正操作。

例:

设x1补=11.01100000,x2补=11.01100001,x3补=11.01101000,x4补=11.01111001,求执行只保留小数点后4位有效数字的舍入操作值。

解:

执行舍入操作后,其结果值分别为x1补11.0110(不舍不入)x2补11.0110(舍)x3补11.0110(舍)x4补11.1000(入),例:

设有浮点数=250.0110011,=23(-0.1110010),阶码用4位移码表示,尾数(含符号位)用8位补码表示。

求浮。

要求用补码完成尾数乘法运算,运算结果尾数保留高8位(含符号位),并用尾数低位字长值处理舍入操作。

解:

移码采用双符号位,尾数补码采用单符号位,则有Mx补=0.0110011,My补=1.0001110,Ex移=00011,Ey移=01011,Ey补=00011,x浮00011,0.0110011,y浮01011,1.0001110,

(2)尾数乘法运算可采用补码阵列乘法器实现,即有,

(1)求阶码和,Ex+Ey移=Ex移+Ey补=00011+00011=00110,值为移码形式-2。

Mx补My补=0.0110011补1.0001110补,=1.1010010,1001010补,(4)舍入处理,(3)规格化处理,乘积的尾数符号位与最高数值位符号相同,不是规格化的数,需要左规,阶码变为00101(-3),尾数变为1.0100101,0010100。

尾数为负数,取尾数高位字长,按舍入规则,舍去低位字长,故尾数为1.0100101。

最终相乘结果为,其真值为23(0.1011011),浮00101,1.0100101,由于浮点运算分成阶码和尾数两部分,因此浮点运算器的实现比定点运算器复杂得多。

分析上述的浮点四则运算可以发现,对于阶码只有加减运算,对于尾数则有加、减、乘、除4种运算。

可见浮点运算器主要由两个定点运算部件组成,一个是阶码运算部件,用来完成阶码加、减,以及控制对阶时小阶的尾数右移次数和规格化时对阶码的调整;另个是尾数运算部件,用来完成尾数的四则运算以及判断尾数是否已规格化。

此外,还需要有溢出判断电路等。

浮点运算器的组成,1、浮点运算器的一般结构,两个操作数的阶码部分,分别放在寄存器1和2中,它们与并行加法器相连可以计算12。

阶码比较是通过12来实现的,相减结果放在计数器。

然后按的符号来决定哪一个阶码较大,并用来控制其中一个尾数的移位次数。

每递减次,相应的尾数右移一位,直到为止。

一旦尾数调整完毕,就可按通常的加、减方法处理,并将其结果的阶码放入寄存器中。

.,流水线原理计算机的流水处理过程同工厂中的流水装配线类似。

为了实现流水,首先必须把输入的任务分割为一系列的子任务,使各子任务能在流水线的各个阶段并发地执行。

将任务连续不断地输入流水线,从而实现了子任务的并行。

因此流水处理大幅度地改善了计算机的系统性能,是在计算机上实现时间并行性的一种非常经济的方法。

在流水线中,原则上要求各个阶段的处理时间都相同。

若某一阶段的处理时间较长,势必造成其他阶段的空转等待。

因此对子任务的划分,是决定流水线性能的一个关键因素,它取决于操作部分的效率、所期望的处理速度,以及成本价格等等。

假定作业T被分成k个子任务,可表达为TT1,T2,Tk各个子任务之间有一定的优先关系:

若ij,则必须在Ti完成以后,Tj才能开始工作。

具有这种线性优先关系的流水线称为线性流水线。

线性流水线处理的硬件基本结构如图所示。

2、浮点流水运算部件,图中,处理一个子任务的过程为过程段(Si)。

线性流水线由一系列串联的过程段组成,各个过程之间设有高速的缓冲寄存器(L),以暂时保存上一过程子任务处理的结果。

在一个统一的时钟(C)控制下,数据从一个过程段流向相邻的过程段。

设过程段Si所需的时间为i,缓冲寄存器的延时为l,线性流水线的时钟周期定义为maxilm

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2