計算機組成原理之計算篇

一铝量、章節(jié)導學

章節(jié)導學

二、進制運算的基礎(chǔ)

1. 進制概述

1.1 進制的定義
  • 進位制是一種記數(shù)方式茬末,亦稱進位計數(shù)法或位值計數(shù)法
  • 有限種數(shù)字符號來表示無限的數(shù)值
  • 使用的數(shù)字符號的數(shù)目稱為這種進位制的基數(shù)或底數(shù)
1.2 常見的進制

n=10 [0-9] 稱為十進制

  • 計算機喜歡二進制厂榛,但是二進制表達太長了
  • 使用大進制位可以解決這個問題
  • 八進制、十六進制滿足2的n次方的要求

1024=0x400=0o2000=0b1000000000

2. 二進制運算的基礎(chǔ)

  • 正整數(shù)N丽惭,基數(shù)為r
    N=d_{n-1}d_{n-2}...d_1d_0=d_{n-1}r^{n-1}+d_{n-2}r^{n-2}+...+d_1r+d_0
    例1
    N=1024 \quad N=1*10^3+2*10^1+4
    例2
    N=10000000000 \quad ?? = 1*2^{10}
2.1 (整數(shù))二進制轉(zhuǎn)換十進制:按權(quán)展開法

N=d_{n-1}d_{n-2}...d_1d_0=d_{n-1}r^{n-1}+d_{n-2}r^{n-2}+...+d_1r+d_0
例1
N=(01100101)=1*2^6+1*2^5+1*2^2+1=101
例2
N=(11101101)=1*2^7+1*2^6+1*2^5+1*2^3+1*2^2+1=237

2.2 (整數(shù))十進制轉(zhuǎn)換二進制:重復相除法
重復相除法

例1


image.png
2.3 (小數(shù))二進制轉(zhuǎn)換十進制:按權(quán)展開法

N=0.d_{-1}d_{-2}...d_{-n}=d_{-1}r^{-1}+d_{-2}r^{-2}+...+d_{-n}r^{-n}

例1
N=0.11001=1*2^{-1}+1*2^{-2}+1*2^{-5}=0.78125=\frac{25}{32}
例2
N=0.01011=1*2^{-2}+1*2^{-4}+1*2^{-5}=0.34375=\frac{11}{32}

2.4(小數(shù))十進制轉(zhuǎn)換二進制:重復相乘法
重復相乘法

例1


重復相乘法

三击奶、有符號數(shù)與無符號數(shù)

問:怎么判斷他是數(shù)字位還是符號位呢?
答:使用0表示正數(shù)责掏,使用1表示負數(shù)

1. 原碼表示法

1.1 原碼表示法
  • 使用0表示正數(shù)柜砾、1表示負數(shù)
  • 規(guī)定符號位位于數(shù)值第一位
  • 表達簡單明了,是人類最容易理解的表示法
1.2 原碼表示法的問題

0有兩種表示方法:00换衬、10
原碼進行運算非常復雜痰驱,特別是兩個操作數(shù)符號不同的時候

  • 判斷兩個操作數(shù)絕對值大小
  • 使用絕對值大的數(shù)減去絕對值小的數(shù)
  • 對于符號值,以絕對值大的為準
1.3 希望的改進
  • 希望找到不同符號操作數(shù)更加簡單的運算方法
  • 希望找到使用正數(shù)代替負數(shù)的方法
  • 使用加法操作代替減法操作瞳浦,從而消除減法

四担映、二進制的補碼表示法

1. 補碼的定義

x=\left\{ \begin{array}{rcl} x && {2^n>x\geq0}\\ 2^{n+1}+x && {0>x\geq-2^n}\\ \end{array} \right.

例子1:n=4x=13叫潦,計算x的二進制原碼和補碼

原碼:x=0,1101蝇完,補碼:x=0,1101

例子2:x=-13,計算x的二進制原碼和補碼

原碼:x=1,1101诅挑,補碼:2^{??+1} + ?? = 2^{4+1} ? 13 = 100000 ? 1101 = 10011
補碼:x=1,0011

例子3:例子3:x=-7四敞,計算x的二進制原碼和補碼

原碼:x=1,0111泛源,補碼:2^{??+1} + ?? = 2^{4+1} ? 7 = 100000 ? 0111 = 11001
補碼:x=1,1001

例子4:x=-1拔妥,計算x的二進制原碼和補碼

原碼:x=1,0001,補碼:2^{??+1} + ?? = 2^{4+1} ? 1 = 100000 ? 0001 = 11111
補碼:x=1,1111

五达箍、二進制的反碼表示法

1. 引進補碼的目的

  • 減法運算復雜没龙,希望找到使用正數(shù)替代負數(shù)的方法
  • 使用加法代替減法操作,從而消除減法
  • 在計算補碼的過程中缎玫,還是使用了減法S蚕恕!
  • 反碼的目的是找出原碼和補碼之間的規(guī)律赃磨,消除轉(zhuǎn)換過程中的減法

2. 反碼的定義

x=\left\{ \begin{array}{rcl} x && {2^n>x\geq0}\\ (2^{n+1}-1)+x && {0>x\geq-2^n}\\ \end{array} \right.

例子1:x=-13筝家,計算x的二進制原碼和反碼

原碼:x=1,1101,反碼:(2^{??+1}-1) + ?? = (2^{4+1}?1)-13 = 011111? 1101 = 10010
反碼:x=1,0010

例子2:例子3:x=-7邻辉,計算x的二進制原碼和反碼

原碼:x=1,0111溪王,反碼:(2^{??+1}-1) + ?? = (2^{4+1}-1) ? 7 = 011111? 0111 = 11000
反碼:x=1,1000

反碼
  • 負數(shù)的反碼等于原碼除符號位外按位取反
  • 負數(shù)的補碼等于反碼+1

例子1:x=-7腮鞍,計算x的二進制原碼和反碼和補碼

原碼:x=1,0111 反碼:x=1,1000 補碼:x=1,1001

例子2:x=-9潮售,計算x的二進制原碼和反碼和補碼

原碼:x=1,1001 反碼:x=1,0110 補碼:x=1,0111

原碼苦银,反碼渺尘,補碼

六潮酒、小數(shù)的補碼

x=\left\{ \begin{array}{rcl} x && {1>x\geq0}\\ 2+x && {0>x\geq-1}\\ \end{array} \right.

例子1:x=\frac{9}{16}托修,計算x的二進制原碼和反碼和補碼

原碼:x=0,0.1001 反碼:x= 0,0.1001 補碼:x= 0,0.1001

例子2:x=-\frac{11}{32} 敲董,計算x的二進制原碼和反碼和補碼

原碼:x=1,0.01011 反碼:x=1,1.10100 補碼:x=1,1.10101

七瓦糕、定點數(shù)與浮點數(shù)

1. 定點數(shù)的表示方法

  • 小數(shù)點固定在某個位置的數(shù)稱之為定點數(shù)


    定點數(shù)
非純整數(shù)或純小數(shù)

2. 浮點數(shù)的表示方法

2.1 為什么使用浮點數(shù)
  • 計算機處理的很大程度上不是純小數(shù)或純整數(shù)
  • 數(shù)據(jù)范圍很大种远,定點數(shù)難以表達
2.2 浮點數(shù)的表示方法
浮點數(shù)的表示格式

123450000000 = 1.2345 × 10^{11}
1.2345:尾數(shù)
10:基數(shù) 11:階碼

N= S \times r^j
S:尾數(shù) r:基數(shù) j:階碼

浮點數(shù)

尾數(shù)規(guī)定使用純小數(shù)

11.0101 = 0.110101 × 2^{10}
11.0101 = 0.0110101 × 2^{11}

浮點數(shù)
浮點數(shù)的表示范圍

假設(shè)階碼數(shù)值取m位蜜徽,尾數(shù)數(shù)值取n
N=S \times r^j

階碼能夠表示的最大值:2^m-1祝懂,考慮符號位:[-(2^m-1),2^m-1]

尾數(shù)能夠表示的最大值:1-2^{-n}
尾數(shù)能夠表示的最小值:2^{-n}
尾數(shù)表示范圍: [2^{-n},1-2^{-n}],考慮符號位: [-(1-2^{-n}),-(2^{-n})][2^{-n},1-2^{-n}]

階碼表示范圍: [-(2^m-1),2^m-1]
尾數(shù)表示范圍: [-(1-2^{-n}),-(2^{-n})][2^{-n},1-2^{-n}]

image.png
單精度與雙精度浮點數(shù)

單精度浮點數(shù): 使用4字節(jié)拘鞋、32位來表達浮點數(shù)(float)
雙精度浮點數(shù): 使用8字節(jié)嫂易、64位來表達浮點數(shù)(double)

2.3 浮點數(shù)的規(guī)格化
  • 尾數(shù)規(guī)定使用純小數(shù)
  • 尾數(shù)最高位必須是1

正確:11.0101 = 0.110101 × 2^{10}
錯誤:11.0101 = 0.0110101 × 2^{11}
錯誤:11.0101 = 0.00110101 × 2^{100}
錯誤:11.0101 = 1.10101 × 2^1

例子1:設(shè)浮點數(shù)字長為16位,階碼為5位掐禁,尾數(shù)為11位怜械,將十進制數(shù) \frac{13}{128}表示為二進制浮點數(shù)。

原碼=反碼=補碼: x = 0.0001101000
浮點數(shù)規(guī)格化: x = 0. 1101000 * 2^{?11}
尾數(shù)為1101000000傅事,尾數(shù)符為0缕允,階符為1,階碼為0011

表示方法

例子2:設(shè)浮點數(shù)字長為16位蹭越,階碼為5位障本,尾數(shù)為11位,將十進制數(shù)?54表示為二進制浮點數(shù)响鹃。

原碼: x = 1,110110
浮點數(shù)規(guī)格化:x = ?0. 110110 ? 2^{110}
尾數(shù)為1101100000驾霜,尾數(shù)符為1,階符為0买置,階碼為0110
尾數(shù)反碼0010011111粪糙,尾數(shù)補碼0010100000

表示方法

3. 定點數(shù)與浮點數(shù)的對比

  • 當定點數(shù)與浮點數(shù)位數(shù)相同時,浮點數(shù)表示的范圍更大
  • 當浮點數(shù)尾數(shù)為規(guī)格化數(shù)時忿项,浮點數(shù)的精度更高
  • 浮點數(shù)運算包含階碼和尾數(shù)蓉冈,浮點數(shù)的運算更為復雜
  • 浮點數(shù)在數(shù)的表示范圍、精度轩触、溢出處理寞酿、編程等方面均優(yōu)于定點數(shù)
  • 浮點數(shù)在數(shù)的運算規(guī)則、運算速度脱柱、硬件成本方面不如定點數(shù)

八伐弹、定點數(shù)的加減法運算

數(shù)值位與符號位一同運算,并將符號位產(chǎn)生的進位自然丟掉
溢出判斷榨为,單符號位表示變雙符號位惨好,雙符號位產(chǎn)生的進位丟棄椅邓,結(jié)果的雙符號位不同則表示溢出

1. 整數(shù)加法

A[補] + B[補] = [A+B][ 補] (??????2^{??+1})

例子1:A=-110010, B=001101昧狮,求A+B

A[補] = 1,001110
B[補] = B[原] = 0,001101
A[補] + B[補] = (A + B)[補] =1,011011
A + B = ?100101

例子3:A=-10010000景馁, B=-01010000,求A+B

A[補] = 1,01110000
B[補] = 1,10110000
A[補] + B[補] = (A + B)[補] =1,00100000
A + B =-11100000

2. 小數(shù)加法

A[補] + B[補] = [A+B][ 補] (mod2)

例子2:A=-0.1010010逗鸣, B=0.0110100合住,求A+B

A[補] = 1,1.0101110
B[補] = B[原] = 0,0.0110100
A 補 + B 補 = (A + B)[補]=1,1.1100010
A + B = -0.0011110

例子4:A=-10010000, B=-11010000撒璧,求A+B

A[補] = 1, 01110000
B[補] = 1, 00110000
A[補] + B[補] = (A + B)[補] = 0,10100000
A + B = 10100000
發(fā)生了溢出

3. 判斷溢出

3.1 雙符號位判斷法
  • 單符號位表示變成雙符號位:0=>00,1=>11
  • 雙符號位產(chǎn)生的進位丟棄
  • 結(jié)果的雙符號位不同則表示溢出

例子4:A=-10010000透葛, B=-11010000,求A+B

A[補] = 11, 01110000
B[補] = 11, 00110000
A[補] + B[補] = (A + B)[補] = 10,10100000
雙符號位不同卿樱,表示溢出

例子3:A=-10010000僚害, B=-01010000,求A+B

A[補] = 11,01110000
B[補] = 11,10110000
A[補] + B[補] = (A + B)[補] =11,00100000
雙符號位相同繁调,沒有溢出

4. 整數(shù)減法

A[補] ? B[補] = ?? + (???)[補](??????2^{??+1})

-B[補]等于B[補]連同符號位按位取反萨蚕,末位加一
B[補] = 1,0010101,(?B)[補] = 0,1101011

例子5:A=11001000蹄胰, B=-00110100岳遥,求A-B

A[補] = A[原] = 0,11001000
B[補] = 1,11001100
(?B)[補] = 0,00110100
A[補] ? B[補] = A + (?B) [補]
A + (?B) 補 = 0,11111100
A ? B = 111111100

5. 小數(shù)減法

A[補] ? B[補] = ?? + (???)[補](??????2)

九、讀點書的加減法運算

x=S_x\times r^{j_x}
y=S_y\times r^{j_y}

  • 對階
  • 尾數(shù)求和
  • 尾數(shù)規(guī)格化
  • 舍入
  • 溢出判斷

x=0.1101 \times 2^{01}
y=(-0.1010) \times 2^{11}

1. 對階

対階的目的是使得兩個浮點數(shù)階碼一致裕寨,使得尾數(shù)可以進行運算

  • 浮點數(shù)尾數(shù)運算簡單
  • 浮點數(shù)位數(shù)實際小數(shù)位與階碼有關(guān)
  • 階碼按小階看齊大階的原則
對階

x=0.001101 \times 2^{11}
y=(-0.1010) \times 2^{11}

對階

2. 尾數(shù)求和

  • 使用補碼進行運算
  • 減法運算轉(zhuǎn)化為加法運算:A - B = A + (-B)

x[原]=00.0011 \quad x[補]=00.0011
y[原]=00.1010 \quad y[補]=11.0110

S=(x+y)[補]=11.1001

尾數(shù)求和

3. 尾數(shù)規(guī)格化

  • 對補碼進行規(guī)格化需要判斷兩種情況:S>0和S<0(符號位與最高位不一致)
    S[補]=00.1xxxxxx(?? > 0)
    S[補] = 11.0xxxxxx(?? < 0)
  • 如果不滿足此格式浩蓉,需要進行左移,同時階碼相應變化宾袜,以滿足規(guī)格化

S=(x+y)[補]=11.1001
S=(x+y)[補]=11.(1)0010(左移)

尾數(shù)規(guī)格化

S=(x+y)[補]=11.0010
S=(x+y)[原]=-0.1110
(x+y)[原]=-0.1110 \times 2^{10}

4. 尾數(shù)規(guī)格化(右移)

  • 一般情況下都是左移
  • 雙符號位不一致下需要右移(定點運算的溢出情況)
  • 右移的話則需要進行舍入操作
4.1 舍入
  • “0舍1入”法(二進制的四舍五入)

S[補] = 10.10110111 \quad S[補] = 11.01011011(1)

舍入

可能溢出

S[補] = 01.11111111 \quad S[補] = 00.10000000(1)

兩次右規(guī)
4.2 溢出判斷
  • 定點運算雙符號位不一致為溢出
  • 浮點運算尾數(shù)雙符號位不一致不算溢出(因為尾數(shù)雙符號位可以進行右規(guī))
  • 浮點運算主要通過階碼的雙符號位判斷是否溢出(如果規(guī)格化后捻艳,階碼雙符號位不一致,則認為是溢出)

例子:x = 0.11010011 × 2^{1101}庆猫,?? = 0.11101110 × 2^{1100}认轨,假設(shè)階碼4位,尾數(shù)8位阅悍,計算x + y

對階
尾數(shù)求和
尾數(shù)求和
判斷溢出

x+y[原]=x+y[補]=0.10100101 \times 2^{1110}

5. 浮點數(shù)加減法運算

image.png

九好渠、浮點數(shù)的乘除法運算

1. 浮點數(shù)乘法

浮點數(shù)乘法

2. 浮點數(shù)除法

浮點數(shù)除法
image.png

例子:?? = 0.11010011 × 2^{1101}昨稼,?? = 0.11101110 × 2^{0001}节视,假設(shè)階碼4位,尾數(shù)8位假栓,計算x * y

x \times y = (S_x \times S_y) \times r^{(j_x+j_y)}\\ \qquad \qquad \qquad \qquad \qquad \quad = (0.11010011 × 0.11101110) × ??^{1101+0001}\\ \qquad \qquad \qquad \quad = 0.11000100(保留八位) × ??^{1110}

十寻行、鞏固習題

1.除了十進制以外,這個世界上常見的還有什么進制匾荆?

二進制拌蜘、八進制杆烁、十二進制、二十進制简卧、六十進制兔魂。

2.二進制一般使用什么方法轉(zhuǎn)換成十進制?

整數(shù):按權(quán)展開法举娩。

3.十進制一般使用什么方法轉(zhuǎn)換成二進制析校?

整數(shù):重復相除法,小數(shù):重復相乘法铜涉。\

4.計算機直接使用原碼計算有什么缺點智玻?

0有兩種表示方法,減法運算復雜芙代。

5.請計算12吊奢、124、1023纹烹、-1页滚、-127的二進制原碼。

12(0,00001100)铺呵、124(0,01111100)逻谦、1023(0,1111111111)、-1(1,00000001)陪蜻、-127(1,01111111)邦马。

6.計算機的補碼解決了什么問題?

相比原碼的運算過程(特別是減法)宴卖,補碼對于計算機而言運算更加簡單滋将。

7.請計算12、124症昏、1023随闽、-1、-127的補碼肝谭,并將其使用32位定點表示法和32位浮點表示法(1位符號位掘宪、8位階碼、23位數(shù)值位)表示出來攘烛。

8.你是否可以使用代碼實現(xiàn)一個通用的計算器魏滚,可以將二進制數(shù)轉(zhuǎn)換為十進制數(shù),把十進制數(shù)轉(zhuǎn)換為二進制數(shù)坟漱。

9.計算機為了判斷運算溢出使用了什么方法鼠次?

雙符號位判斷法。當雙符號位不一致表示溢出。

10.什么是溢出腥寇?什么是上溢成翩?什么是下溢?

溢出即計算機無法表示數(shù)值赦役。上溢是指數(shù)值絕對值大于表示范圍麻敌,下溢是指計算機無法提供有效精度表示數(shù)值。

11.對于64位浮點型(double)掂摔,一般都是采用最高位為符號位庸论,次高11位為指數(shù)位,其次52位為尾數(shù)棒呛,試求出double型所能表達的最大值和最小值聂示。

12.浮點數(shù)相比定點數(shù),有什么優(yōu)勢簇秒?有什么不足的地方鱼喉。

浮點數(shù)可以表示更大的數(shù)據(jù)范圍,但是運算耗時更長趋观。

13.浮點數(shù)之間做加減法運算需要幾個步驟扛禽?每個步驟都是必須的嗎?為什么皱坛?

浮點數(shù)加減法需要經(jīng)過以下幾個步驟:對階编曼、尾數(shù)求和、尾數(shù)規(guī)格化剩辟、舍入掐场、溢出判斷。對階是為了使得尾數(shù)可以進行運算贩猎,階碼不一致尾數(shù)運算無效熊户,尾數(shù)規(guī)格化、舍入是為了正確存儲結(jié)果吭服,溢出判斷是為了判斷運算過程是否有誤嚷堡,如果溢出將會發(fā)出信號進行溢出處理。

14.x=0.1101^1001, y=0.1011^110艇棕,請計算x+y的值蝌戒,x-y的值。

x+y=0.11100111001沼琉,x-y=0.10111011001北苟。

15.x=0.1101^111, y=-0.1111^1101,請計算x+y的值刺桃,x-y的值粹淋。

x+y=-0.11101100111101吸祟,x-y=0.11110011011101瑟慈。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末桃移,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子葛碧,更是在濱河造成了極大的恐慌借杰,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件进泼,死亡現(xiàn)場離奇詭異蔗衡,居然都是意外死亡,警方通過查閱死者的電腦和手機乳绕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門绞惦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人洋措,你說我怎么就攤上這事济蝉。” “怎么了菠发?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵王滤,是天一觀的道長。 經(jīng)常有香客問我滓鸠,道長雁乡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任糜俗,我火速辦了婚禮踱稍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悠抹。我一直安慰自己寞射,他們只是感情好,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布锌钮。 她就那樣靜靜地躺著桥温,像睡著了一般。 火紅的嫁衣襯著肌膚如雪梁丘。 梳的紋絲不亂的頭發(fā)上侵浸,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機與錄音氛谜,去河邊找鬼掏觉。 笑死,一個胖子當著我的面吹牛值漫,可吹牛的內(nèi)容都是我干的澳腹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼酱塔!你這毒婦竟也來了沥邻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤羊娃,失蹤者是張志新(化名)和其女友劉穎唐全,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蕊玷,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡邮利,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了垃帅。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片延届。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖贸诚,靈堂內(nèi)的尸體忽然破棺而出方庭,到底是詐尸還是另有隱情,我是刑警寧澤赦颇,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布二鳄,位于F島的核電站,受9級特大地震影響媒怯,放射性物質(zhì)發(fā)生泄漏订讼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一扇苞、第九天 我趴在偏房一處隱蔽的房頂上張望欺殿。 院中可真熱鬧,春花似錦鳖敷、人聲如沸脖苏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棍潘。三九已至,卻和暖如春崖媚,著一層夾襖步出監(jiān)牢的瞬間亦歉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工畅哑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留肴楷,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓荠呐,卻偏偏與公主長得像赛蔫,于是被迫代替她去往敵國和親砂客。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345