忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024年11月23日23:27 】 |
負の除算・・・
手廻計算器には色々な計算テクニックが詰まってる^^
割り算には引き戻し法引き放し法などが用いられるが・・・

その計算の正誤を判定するには検算をする
割り算の検算とは・・・

 商*除数+余=被除数
 余の絶対値<除数の絶対値

この2つの条件を満たしているとき
この除算は正しい・・・

上の条件は除数・被除数ともに正のとき
答えは唯一となるが・・・
負の数が入ると・・・^^;

たとえば-5/3の場合

商=-1 余=-2 の場合と・・・
商=-2 余= 1 の場合が・・・

どちらも上の2つの条件を満たし正しい・・・
どちらの計算結果になるかは実装による・・・^^;

最近では・・・

 商*除数の絶対値<=被除数の絶対値

この条件を加えて計算結果が唯一になるように
言語仕様を決めている言語もある

Javaの場合・・・

Java言語仕様第3版
(The Java Language Specification, Third Edition)
15.17.2 Division Operatorに・・・

Integer division rounds toward 0. That is, the quotient produced for operands n and d that are integers after binary numeric promotion (§5.6.2) is an integer value q whose magnitude is as large as possible while satisfying |d・q||n|; moreover, q is positive when |n||d| and n and d have the same sign, but q is negative when |n||d| and n and d have opposite signs. There is one special case that does not satisfy this rule: if the dividend is the negative integer of largest possible magnitude for its type, and the divisor is -1, then integer overflow occurs and the result is equal to the dividend. Despite the overflow, no exception is thrown in this case. On the other hand, if the value of the divisor in an integer division is 0, then an ArithmeticException is thrown.

百聞は一見にしかずということで
Java6update3で実行してみる・・・
-5 % 3 = -2
5 % -3 = 2
-5 % -3 = -2
-2 % 3 = -2
2 % -3 = 2
-2 % -3 = -2


となった
ちなみにExcel2003では・・・
-5 mod 3 = 1
5 mod -3 = -1
-5 mod -3 = -2
-2 mod 3 = 1
2 mod -3 = -1
-2 mod -3 = -2


となった
PR
【2007年12月02日07:30 】 | Java | コメント(0) | トラックバック()
Java 7・・・
プラグイン形式のアプリケーションを作成しようと考えた場合・・・
プラグインは必要なクラスファイルなどを
JARファイルにまとめライブラリにするとして・・・

いくつかのライブラリをまとめてモジュールにしたい・・・
異なるバージョンのライブラリをロードしたい・・・
何かいい方法はないかと・・・そんな時

ThinkITの特集で不滅のJavaが・・・
その中に先取りJava SE 7!の記事が・・・

Java SE 7ではモジュラリティの向上が進められこれらの問題を解決^^
でもリリースの時期は・・・???

Java 7 Release Scheduleに2007年1月を目標に・・・って^^;
当面はモジュール化への移行を念頭に
オブジェクト指向で設計し直しかな・・・
【2007年08月11日07:30 】 | Java | コメント(0) | トラックバック()
正しい無限ループの書き方・・・
正しい無限ループの書き方・・・

プログラミングの楽しみ方が増えますね^^

IGPXでもOSを修復するときに・・・
UMLやプログラムでアスキーアートを・・・
こちらはアニメだが・・・
これを実現させるとは・・・


【2007年07月11日07:30 】 | Java | コメント(0) | トラックバック()
ロケールとフォント・・・
Javaの初期デフォルトロケールは
通常ホストオペレーティングシステムのロケールによって決まる

Windowsではコントロールパネルの中の地域と言語のオプションで
容易に変更できる^^

ちなみに韓国語に設定してみると・・・
JFileChooser等はハングル表記になる^^

あれ自分で作った日本語のラベルもちゃんと表示されてる
日本語で豆腐問題もなく・・・

ということは国際化(i18n)されていない部分も
フォントがサポートされていればロケールに関わらず
正常に表示される
逆にロケールを指定しても
フォントがサポートされていなければ文字化けする

WindowsVistaでのフォントの変更も気になるところである
【2007年03月04日23:58 】 | Java | コメント(0) | トラックバック()
文字コードとフォント・・・
豆腐問題を解決すべくJava国際化FAQのページに・・・

JRE の lib/fonts/fallback ディレクトリに
フォントをインストールする方法が一番簡単ということで・・・^^

・・・どこにフォントがあるんだ~~~TT
sjisって単語も入っているしこれかな???

おぉ~~~表示された~~~^^
あれれ・・・ひらがなとカタカナだけ・・・^^;
漢字が出ない・・・;;

再びフォント探しの旅へ・・・TT

文字コードとフォントの違いについて身をもって思い知ることに・・・
WindowsもXPからVistaになってフォントが変更になったらしい^^;

これからのフォント対策はどうしようか???
画像にして埋め込むのもひとつの手だけど・・・
【2007年02月28日07:26 】 | Java | コメント(0) | トラックバック()
前ページ| ホーム |次ページ

忍者ブログ [PR]