『Javaで学ぶコンピュータ数学』正誤表

弊社出版書籍『Javaで学ぶコンピュータ数学』本文中に誤りがありました。お詫びして訂正いたします。

作成日:2013-11-20 、更新日:2013-11-28

追加の訂正があります。こちらを参照してください→ 『Javaで学ぶコンピュータ数学』正誤表2

作成日:2013-08-30、更新日:2013-09-27 

●P.4 11行目、16行目、P.5 6行目(ソースコード名の誤り)

「誤」 Kaijyou15.java
「正」 Kaijyou15_1.java

●P.7 10行目(記述の誤り)

「誤」 次のようにすると、15がfloat型になります。
「正」 次のようにすると、15がdouble型になります。

●P.7 脚注1行目(記述の誤り)

「誤」 破堤
「正」 破綻

●P.9 脚注*10(脚注の誤り)

「誤」 cardinal number または 底(base or radix)
「正」 radix または base(底)
cardinal numberは、別の概念を示す言葉です。例えば、(1)個数を表す語、(2)濃度=カーディナル数の意味があります。ですので、記数法や基数変換にあたって用いる基数という言葉の正しい訳語はradix、あるいはbase(底)です。

●P.14 10行目(脚注位置の誤り)

「誤」 符号ビット *22 
「正」 最上位のひと桁 *22
脚注*22が「符号ビット」に付いているが、これは7文字前の「最上位のひと桁」の脚注です。そして、「符号ビット」の脚注に「正」sign bitを追加します。

●P.31 31行目(内容の誤り)

「誤」 指数部は、小数点の移動が左へ9桁だったため、+10+127=137。136を2進数に変換すると、
「正」 指数部は、小数点の移動が左へ10桁だったため、+10+127=137。137を2進数に変換すると、

●P.33 22行目から26行目(内容の誤り)

ネイピア数2.7182を入力するところを2.7128と打ち間違えていました。

「誤」
10 進数値を入力して下さい。>2.7128
[int](0x2)H
[long](0x2)H
[float](0x402d9e84)H
[double](0x4005b3d07c84b5dd)H

「正」 
10 進数値を入力して下さい。>2.7182
[int](0x2)H
[long](0x2)H
[float](0x402df6fd)H
[double](0x4005bedfa43fe5c9)H

●P.34 4行目(内容の誤り)

記号^はべき乗の意味です。2^3は2*2*2=8となります。

「誤」指数部が128だから、2^{128-127}=2^1
「正」指数部が205だから、2^{205-127}=2^78

●P.34 8行目(内容の誤り)

「誤」 (-1)^0 x 2^1
「正」 (-1)^0 x 2^78

●P.34 27行目(内容の誤り)

「誤」 指数部が128だから
「正」 指数部が135だから

●P.35 3行目(内容の誤り)

「誤」 (-1)^0x2^1
「正」 (-1)^0x2^8

●P.46 脚注*56(内容の誤り)

「誤」 more digits
「正」 alignment

●P.52 17行目(記載場所の誤り)

「今回のまとめ」の1つ目

「○実数型は値を格納した時点で丸め誤差を発生します。」 はP.45の「今回のまとめ」の最後に移動する。

●P.62 25行目(内容の誤り)

「誤」 表2.1.6: 問題 論理和の真理値表
「正」 表2.1.6: 問題 排他的論理和の真理値表

●P.87 4行目から7行目(計算の誤り)

\bar{A}はAの否定の意味です。

「誤」
=A・B + \bar{A}・B
=B・(A + \bar{A})
=B・1
=B
「正」
=A・1 + \bar{A}・B
=A + \bar{A}・B
=A + B

●P.92(記述内容の補足)

12行目に「ところで、この演算→はプログラミングの中でそう使う機会がありません。」と記載しました。これについて、次のようなご指摘を頂きました。 (文面は著者がまとめましたので、そのままではありません。)
型Bを受け取って型Aを返す関数は、「BならばA」と同型であることが示されているので、メソッドの「A hoge (B b)」という定義が→を表していて、これは頻繁に使います。カリー・ハワード同型対応といいます。
これは論理演算子の体系とは別の体系なので、本文の文脈において「Java言語には→を表す演算子は用意されていません」というのは間違いではないのですが、演算→をプログラミングで使う機会がないわけではありません。

●P.195(サンプルコードの名称の誤り)

「誤」ソースコード: Sample_isSquareMatrix.java 未完成版
「正」 ソースコード: Sample_GaussJordanElimination.java 未完成版

●P.199(サンプルコードの名称の誤り)

「誤」ソースコード: Sample_isSquareMatrix.java 完成版
「正」 ソースコード: Sample_GaussJordanElimination.java 完成版

●P.291(サンプルコードP291の画面出力)

サンプルコードP291は関数SkenkeiSaishouJijyouHouがスケルトン状態です。 実行は出来ますが、目的とするグラフを表示出来ません。
サンプルコードP297(Sample RegLine.java)が完成版となります。
サンプルコードP291の画面出力は、下記のCSVデータ(本文中OpenOfficeで使用したデータです)を実行した結果です。
 20,120
 150,225
 278,240
data001.csvで実行した場合、下記の出力となります。
 y=ax+b
 value of a = 0.8920197621838888
 value of b = 26.47085915257076

●P.312(ソースコード冒頭のコメントの誤り)

「誤」 * compile : >javac Sample_RegLine.java -Xlint:unchecked
「誤」 * usage : >java Sample_RegLine ./data002.csv */
「正」 * compile : >javac Sample_Correlation.java -Xlint:unchecked
「正」 * usage : >java Sample_Correlation ./data002.csv */

●P.317(サンプルコードP312の画面出力について)

P.317に掲載したサンプルコードP312(Sample_Correlation.java)の画面出力は、下記のCSVファイルで実行した結果です。
 20,120
 150,225
 278,240
P.292の図6.2.11のグラフも、このCSVファイルで実行したときに表示されます。
data001.csvで実行した場合、下記の出力となります。
 y=ax+b
 value of a = 0.8920197621838888
 value of b = 26.47085915257076
 r = 0.9942482449593888

●P.317など

Java実行ファイル実行後の
  バッチ ジョブを終了しますか (Y/N)? y
はWindowsに特有の表示です。UNIX系のOSでは表示されません。

●P.356など

「バッチファイル」はWindows特有の機能です。同様の処理を行うためには、UNIX系OSでは「シェルスクリプト」を作成します。


書籍紹介のページ | トップページ