忍者ブログ

神戸電子専門学校ゲームソフト学科の生徒が運営するGESのブログです。

   

[PR]

×

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

絶対値を求める

おさらいセミナーで
int i=5<4;
を実際に使いますか との質問を受け例示できなかったので、
思いついたので書き記します。

拍手[0回]


~よくある絶対値~
main(){
int x=-3;
if( x<0 ) x = -x;
}

☆比較演算子だけを用いた方法☆
x=x + ((x<0)*(-x))*2;
このように使うことができました。


~ビット演算を用いた方法~
x = (x ^ (x >> 31))-(x >> 31);
ビット演算を駆使して絶対値を計算しています。私はよくわかりません。


ひとつの事柄を求めるのにもいろいろなアプローチがあります。
~~の処理は難しいからと諦めるのではなく、別の考え方で実現できたりできます。
こだわりだしたらそこで作業がストップしてしまって、前のライブラリ症候群を発症してしまうことも。
トレードオフですね。

byリーダ和田
 
PR

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

No Title

  • by 克兎
  • 2012/06/10(Sun)10:32
  • Edit
角度の制御に比較式を使うことができるよ。

int Ang = 0;

/*省略*/

//毎ループ通るとして
Ang++;
Ang *= ( Ang < 360 );

こうすると、角度が360になった時点で、0に戻される。

ブログ内検索

最新コメント

[01/29 人面犬]
[10/01 8ch]
[09/12 uncle]
[09/10 某卒業生]
[06/07 uncle]

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

テスト

Copyright ©  -- GESブログ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]