5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

M$のえくせるのばぐぅ

1 : ◆lCFAh.JA :02/05/07 22:31 ID:P3iYkyin
なぁみんな聞いてくれ,やふおく祭りどころじゃねぇよ!

昨日エクセルを使って数値計算をしてみたのよ.
そしたらなんか理論値と大きくずれやがんの.
五時間もかけた結果恐ろしいことがわかったのヨ.

-(1)^2 を計算したら普通どうなると思う?
当然-1になるはずだよな?あたりまえだよな?
でもちょっとエクセルで計算してみてくれよ.
1になるんだよ,ありえねぇよ,やヴぁい.

んでもって確認のために次の計算をしてみたんだ.
そしたらさらにひどいことがおこったわけよ.

     -(1)^2 + 1 → 2

      1 - (1)^2 → 0

いったいどういうことよ,なぁ心の友よ.


2 :名無しさん@お腹いっぱい。:02/05/07 22:32 ID:???
ここは日記スレです。

↓↓↓↓↓次どうぞ↓↓↓↓↓

3 :名無しさん@お腹いっぱい。 :02/05/07 22:33 ID:???
n?

4 :1の母です:02/05/07 22:39 ID:6dmqZWzf
うちの息子が無理して気勢上げて支離滅裂で意味不明ですみません。
よーするに適当なセルで
=-(1)^2
=-1^2
=-(1)^2+1
=1-(1)^2
実行!
ってことだろゴルア
・・・やっちまったか、M$
XPでの追試求む。2kは確認


5 :名無しさん@お腹いっぱい。:02/05/07 22:48 ID:XK3epzzG
#include <stdio.h>
main()
{
printf("%d\n",-(1)^2 + 1 );
printf("%d\n",- 1 ^2 + 1 );
printf("%d\n", 1 - (1)^2);
printf("%d\n", 1 - 1 ^2);
}

#-4
#-4
#2
#2
#Press any key to continue

6 : ◆lCFAh.JA :02/05/07 22:52 ID:P3iYkyin
>5

うざいよ,うそつくな
C言語でハットは乗数演算じゃねぇぞ
カエレ!

7 :名無しさん@お腹いっぱい。:02/05/07 22:52 ID:6dmqZWzf
>5
 おまえんちはどうか知らんけど
 うちのCは'^'なんて演算子つかえんし


8 :4の父です:02/05/07 22:56 ID:Tcs/5C5v
ウチの娘がキティですいません。
要するに演算子の優先順位がおかしいと。
XPで追試したところ1と同じことに。
ヘルプで演算死の優先順位確認したけど、どーもM$がだめっぽい
^ はXORじゃう゛ぉけぇぇ



9 :8:02/05/07 22:57 ID:Tcs/5C5v
お、なんだかIDがカコイイ

10 :名無しさん@お腹いっぱい。:02/05/07 23:21 ID:XK3epzzG
>>5
誰かVBでやってくれることをきぼんぬ

11 :名無しさん@お腹いっぱい。:02/05/07 23:25 ID:???
M$よりイタイ>>5がいるスレはここだすか?

12 :名無しさん@お腹いっぱい。:02/05/07 23:26 ID:ecEFdjDR
流石にVBだといけるでしょ。

Debug.Print (-(1) ^ 2)
Debug.Print (-(1) ^ 2 + 1)
Debug.Print (1 - (1) ^ 2)

-1
0
0

13 :ついでに:02/05/07 23:33 ID:ecEFdjDR
VB Scriptにても再現確認。

MsgBox (-(1) ^ 2)
MsgBox (-(1) ^ 2 + 1)
MsgBox (1 - (1) ^ 2)

1
2
0

おまけ
MsgBox ((0-(1) ^ 2))
0

マイナスで始めるとダメなのか!?

14 ::02/05/07 23:34 ID:ecEFdjDR
連続ごめん。最後の部分typoですた。

MsgBox ((0-(1) ^ 2))
-1

15 :4:02/05/07 23:39 ID:6dmqZWzf
演算子優先順位は、M$のヘルプによると。。。

高 , (カンマ)
↑  (参照演算子)
  - (負の数 (-1 など))
  % (パーセンテージ)
  ^ (べき算)
  * と / (乗算と除算)
  + と - (加算と減算)
↓ & (文字列の結合または連結)
低 =、<、>、<=、>=、<>

だそうな。もちかっこ内最優先。
負の数と減算の違いがよくわからんが、左に式や値のない'-'と
その右の数値の組み合わせが負の数であるとすれば
バグ?らしきものもうなずけるかも。どうさね?>1

にしても。不可解な設定やのう。
'^'はXORだな。bit演算子としてちゃんと存在する。スマソ

16 :納得:02/05/07 23:46 ID:ecEFdjDR
どうやら仕様上はおかしくないようで。
MSDNのvbscrip5.chm::/html/vsgrpoperatorprecedence.htm[演算子の優先順位]によると
評価順序は

マイナス符号 (-)
指数演算 (^)
乗算と除算 (*, /)
整数除算 (\)
剰余演算 (Mod)
加算と減算 (+, -)
文字列連結 (&)

となっており、これに従うと>>1の結果も納得できます。

ちなみに、VBでの評価順序は
MSDNのvbenlr98.chm::/HTML/vagrpoperatorprecedence.htmによると、

指数演算 (^)
マイナス符号 (-)
…以下続く

となり、上記問題は起きないようです。
仕様通りとはいえ、一般の使用時は納得できにくい物であり、VBScriptの優先順位仕様がおかしい、という結論でどうでしょうか。

17 : ◆lCFAh.JA :02/05/07 23:50 ID:P3iYkyin
仕様ですか.

一般の人は評価順位なんか知らないと思うんですが
なんでこんなんになってしまったんでしょう・・・

とりあえずここは痛い5がいるスレと
覚えていて損は無いM$ソフトの豆知識スレということに.

18 :4:02/05/08 00:19 ID:uTarjTNQ
http://www.keep-on.com/~excelyou/2000lng2/200004/00040071.txt
どーもM$特有らしいね。三四郎(懐 とか123とかじゃ起きないみたいよ。
なんでこんな謎仕様なんだろ。詳しい人詳細キボンヌ
M$の最初の仕様作ったやつが演算子優先順位も知らないドキュソだったんだろか


19 :びる:02/05/08 01:04 ID:???
I am standard.

20 :名無しさん@お腹いっぱい。:02/05/09 01:34 ID:???
sage

21 :びる:02/05/09 03:08 ID:???
I am Gay.

22 :もり:02/05/09 22:50 ID:???
Me too.

23 :名無しさん@お腹いっぱい。:02/07/09 18:41 ID:TWfOu4+o
「ばぐぅ」というのがむかつきます。

僕はJaneSyrup Doeを使っていますが、
JaneSyrup Doeのスレ一覧でこのスレのタイトルが
表示されないようにする方法を教えてください。
できないならできるように改造してください。
このスレにこんなことを書くのは、僕がこんなに苦しんでいるのは、
このスレのタイトルを付けた人のせいだと思うからです。

それから、ここを、>>17で言っている
「覚えていて損は無いM$ソフトの豆知識スレ」
なんてものにするのには賛成できません。
「えーと、これはどうするんだっけ。検索するの面倒だし、2chで…」
なんて思ったときに「ばぐぅ」という文字列を目にしなければ
ならなくなるからです。

もしかしたら、お気づきかもしれませんが、「うぐぅ」もむかついています。

それでは、JaneSyrup Doeの件よろしくお願いします。

24 :名無しさん@お腹いっぱい。:02/07/09 19:02 ID:???
ぜんぜんバグじゃない。
(1)って馬鹿じゃねぇの?

25 :某FSW作者:02/07/10 00:49 ID:???
似た結果発見

CASUAL BASIC version 2.60
Copyright (C) 1995-2002 by Atsushi Yoshinaka
26175 Bytes free
You can't use FM sounds!
LIST
10 Print -(1)^2+1
20 Print -1^2+1
30 Print 1-(1)^2
40 Print 1-1^2
Ok
RUN
2
2
0
0
Ok


26 :名無しさん@お腹いっぱい。:02/07/14 12:50 ID:sBqa06Ex
スレ違いだけど、昔 func(i++); とかで
TurboC  インクリメントしたのち関数に渡す
MSC    関数に渡してからインクリメント
という解釈の違いがあった。
不審に思ってANSI か何かの資料調べたら
コンパイラメーカーに任されてるとのこと
いい加減だと思った。
感覚的には TurboC が正しいと思う。

8 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)