Fix error displaying inline math formulas.

This commit is contained in:
jxskiss 2016-09-27 22:32:55 +08:00
parent 94c8488130
commit d2ec5a6c60
2 changed files with 4 additions and 4 deletions

View File

@ -12,7 +12,7 @@ Unicode字符rune类型是和int32等价的类型通常用于表示一个Unic
不管它们的具体大小int、uint和uintptr是不同类型的兄弟类型。其中int和int32也是不同的类型即使int的大小也是32bit在需要将int当作int32类型的地方需要一个显式的类型转换操作反之亦然。 不管它们的具体大小int、uint和uintptr是不同类型的兄弟类型。其中int和int32也是不同的类型即使int的大小也是32bit在需要将int当作int32类型的地方需要一个显式的类型转换操作反之亦然。
其中有符号整数采用2的补码形式表示也就是最高bit位用来表示符号位一个n-bit的有符号数的值域是从$$-2^{n-1}$$$$2^{n-1}-1$$。无符号整数的所有bit位都用于表示非负数值域是0到$$2^n-1$$。例如int8类型整数的值域是从-128到127而uint8类型整数的值域是从0到255。 其中有符号整数采用2的补码形式表示也就是最高bit位用来表示符号位一个n-bit的有符号数的值域是从$-2^{n-1}$到$2^{n-1}-1$。无符号整数的所有bit位都用于表示非负数值域是0到$2^n-1$。例如int8类型整数的值域是从-128到127而uint8类型整数的值域是从0到255。
下面是Go语言中关于算术运算、逻辑运算和比较运算的二元运算符它们按照先级递减的顺序的排列 下面是Go语言中关于算术运算、逻辑运算和比较运算的二元运算符它们按照先级递减的顺序的排列
@ -101,7 +101,7 @@ fmt.Printf("%08b\n", x>>1) // "00010001", the set {0, 4}
6.5节给出了一个可以远大于一个字节的整数集的实现。) 6.5节给出了一个可以远大于一个字节的整数集的实现。)
在`x<<n``x>>n`移位运算中决定了移位操作bit数部分必须是无符号数被操作的x数可以是有符号或无符号数。算术上一个`x<<n`左移运算等价于乘以$$2^n$$一个`x>>n`右移运算等价于除以$$2^n$$。 在`x<<n``x>>n`移位运算中决定了移位操作bit数部分必须是无符号数被操作的x数可以是有符号或无符号数。算术上一个`x<<n`左移运算等价于乘以$2^n$一个`x>>n`右移运算等价于除以$2^n$。
左移运算用零填充右边空缺的bit位无符号数的右移运算也是用0填充左边空缺的bit位但是有符号数的右移运算会用符号位的值填充左边空缺的bit位。因为这个原因最好用无符号运算这样你可以将整数完全当作一个bit位模式处理。 左移运算用零填充右边空缺的bit位无符号数的右移运算也是用0填充左边空缺的bit位但是有符号数的右移运算会用符号位的值填充左边空缺的bit位。因为这个原因最好用无符号运算这样你可以将整数完全当作一个bit位模式处理。
@ -114,7 +114,7 @@ for i := len(medals) - 1; i >= 0; i-- {
} }
``` ```
另一个选择对于上面的例子来说将是灾难性的。如果len函数返回一个无符号数那么i也将是无符号的uint类型然后条件`i >= 0`则永远为真。在三次迭代之后,也就是`i == 0`时i--语句将不会产生-1而是变成一个uint类型的最大值可能是$$2^64-1$$然后medals[i]表达式将发生运行时panic异常§5.9也就是试图访问一个slice范围以外的元素。 另一个选择对于上面的例子来说将是灾难性的。如果len函数返回一个无符号数那么i也将是无符号的uint类型然后条件`i >= 0`则永远为真。在三次迭代之后,也就是`i == 0`时i--语句将不会产生-1而是变成一个uint类型的最大值可能是$2^64-1$然后medals[i]表达式将发生运行时panic异常§5.9也就是试图访问一个slice范围以外的元素。
出于这个原因无符号数往往只有在位运算或其它特殊的运算场景才会使用就像bit集合、分析二进制文件格式或者是哈希和加密操作等。它们通常并不用于仅仅是表达非负数量的场合。 出于这个原因无符号数往往只有在位运算或其它特殊的运算场景才会使用就像bit集合、分析二进制文件格式或者是哈希和加密操作等。它们通常并不用于仅仅是表达非负数量的场合。

View File

@ -89,7 +89,7 @@ func mandelbrot(z complex128) color.Color {
**练习 3.6** 升采样技术可以降低每个像素对计算颜色值和平均值的影响。简单的方法是将每个像素分成四个子像素,实现它。 **练习 3.6** 升采样技术可以降低每个像素对计算颜色值和平均值的影响。简单的方法是将每个像素分成四个子像素,实现它。
**练习 3.7** 另一个生成分形图像的方式是使用牛顿法来求解一个复数方程,例如$$z^4-1=0$$。每个起点到四个根的迭代次数对应阴影的灰度。方程根对应的点用颜色表示。 **练习 3.7** 另一个生成分形图像的方式是使用牛顿法来求解一个复数方程,例如$z^4-1=0$。每个起点到四个根的迭代次数对应阴影的灰度。方程根对应的点用颜色表示。
**练习 3.8** 通过提高精度来生成更多级别的分形。使用四种不同精度类型的数字实现相同的分形complex64、complex128、big.Float和big.Rat。后面两种类型在math/big包声明。Float是有指定限精度的浮点数Rat是无限精度的有理数。它们间的性能和内存使用对比如何当渲染图可见时缩放的级别是多少 **练习 3.8** 通过提高精度来生成更多级别的分形。使用四种不同精度类型的数字实现相同的分形complex64、complex128、big.Float和big.Rat。后面两种类型在math/big包声明。Float是有指定限精度的浮点数Rat是无限精度的有理数。它们间的性能和内存使用对比如何当渲染图可见时缩放的级别是多少