+の数を−の数に −の数を+の数に変換

解決


HTML-M  2008-04-23 19:07:11  No: 144675  IP: 192.*.*.*

もう何度も質問して申し訳ありません。
+の数を-の数に
(1  →  -1)
-の数を+の数に
(-1  →  1)
するにはどうすればいいですか?
ググッて見ても、見つかりませんでした

編集 削除
魔界の仮面弁士  2008-04-23 19:09:21  No: 144676  IP: 192.*.*.*

a = -a  とか。

編集 削除
HTML-M  2008-04-23 19:34:21  No: 144677  IP: 192.*.*.*

(-1  →  1)
はどうすれば・・・

編集 削除
T★M  2008-04-23 19:50:58  No: 144678  IP: 192.*.*.*

魔界の仮面弁士さんの回答が理解できていますか?
-(-1)がいくつになるか、わかりますか?

編集 削除
はぁ?  2008-04-23 19:53:34  No: 144679  IP: 192.*.*.*

> (-1 → 1)
> はどうすれば・・・

はぁ?

> a = -a
で出来るじゃん。

編集 削除
HTML-M  2008-04-23 19:55:24  No: 144680  IP: 192.*.*.*

>>a = -a  とか
↑の回答は、+の数を-の数に変換する方法です。

編集 削除
HTML-M  2008-04-23 19:57:31  No: 144681  IP: 192.*.*.*

+の数を-の数に変換する方法はわかりましたが、その反対はどうなんですかという事です。
-a=aなんて出来ません

編集 削除
とりあえず  2008-04-23 19:58:59  No: 144682  IP: 192.*.*.*

算数の勉強が必須。

四則演算、ド・モルガンの法則など。

正負の逆転をさせたいのであれば、(凄く乱暴だが)元の数字に-1を掛けてやればいい。

出来る限り算数で済むような内容は、書き込む前に一度考えてからにした方がいいぞ。

出来れば入門書を読んでから質問することを勧める。

編集 削除
HTML-M  2008-04-23 20:03:42  No: 144683  IP: 192.*.*.*

あ、あの  小6にそんなこといわれても、ド・モルガンの法則とかわかりません。
でも、とりあえずさんの言葉で納得できました。
いつも質問に答えてていただき、ありがとうございます。

編集 削除
はぁ?  2008-04-23 20:04:14  No: 144684  IP: 192.*.*.*

変数aにー100という数字が入っているなら、

a=-a
で結果に変数aに100という結果が入るでしょ。
だれも
-100=100
ってやれなんていってない。

VBの構文、わかってますか?

左辺の変数に右辺の計算式を入れると言うことですよ。
そして、
-a
というのは
-1*a
という意味です。

つまり、
a = -a

a = -1 * a
という意味となります。

後は算数がわかれば出来ます。

負数(マイナスの数)のかけ算がわからないのなら、また言ってくれ。

確か中学の数学でそんなのやった覚えはある。

編集 削除
まら  2008-04-23 23:55:42  No: 144685  IP: 192.*.*.*

なんつーか、基礎がどうこう以前の問題だなぁ
正負の計算も出来ない奴が何でプログラミングやってるの?
小6だから分からない?
習ってないから分からない?
甘ったれんなよ。
分からないなら勉強しろ。
もっと貪欲に知識を求めろ。

編集 削除
やじゅ  2008-04-24 13:17:50  No: 144686  IP: 192.*.*.*

負(マイナス)は中学生から習うので、小6に求めても
仕方なく。
大人になっても、マイナス×マイナスはなぜプラスになるのか
論理的に説明できません(w
中学で、おまじないのように覚えただけです。

マイナス×マイナスはなぜプラス?
http://www.cwo.zaq.ne.jp/bfaby300/math/card.html

編集 削除
特攻隊長まるるう  2008-04-24 14:15:21  No: 144687  IP: 192.*.*.*

> a = -a
に関して言えば、負数の掛け算というより、単純に符号反転ってイメージで
頭の中に入ってますねぇ、ボクの場合。
[VB.NET2003]
    Private blnFlag As Boolean
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        blnFlag = Not blnFlag
        MessageBox.Show(blnFlag.ToString)
    End Sub

[トグルとは]
http://www.sophia-it.com/content/%E3%83%88%E3%82%B0%E3%83%AB

編集 削除
はぁ?  2008-04-24 16:34:12  No: 144688  IP: 192.*.*.*

>>まら
はぁ?
負の計算できねえやつがプログラミングしちゃいけねぇか?

正の数だけでも簡単なのなら出来るだろうが。

なんか小学のやつはやるなとかいわれてるみたいだ。

編集 削除
通り  2008-06-28 10:49:00  No: 144689  IP: 192.*.*.*

Math.Abs(数値)
という方法も。

編集 削除
我龍院  2008-06-28 14:13:44  No: 144690  IP: 192.*.*.*

a = -a
を算数で説明するのはどうみても無理だな.....

編集 削除
 2008-06-30 12:56:40  No: 144691  IP: 192.*.*.*

とりあえずだな、
負の計算を根本的に知らない人間は
>負の計算できねえやつがプログラミングしちゃいけねぇか?
…しちゃいけねぇとか言う以前にムリだ

「負の計算をしようとしてる」んだから、その勉強ぐらいしなさい
その努力もしないでキレるのは、ただの逆ギレ
ネットのどっかに情報ぐらい転がってるでしょ

編集 削除
OldVBer  2008-07-05 07:37:13  No: 144692  IP: 192.*.*.*

Let文においてのLetを省略している形

であることの説明を飛ばしていることが誤解の発端。
算数・数学の「=」(等号)とは違う事実を知らないひとには
理解できなくて当然。

編集 削除
魔界の仮面弁士  2008-07-05 08:46:19  No: 144693  IP: 192.*.*.*

解決済みなので、この話題を引っ張る必要があるのかどうかは疑問ですが:

そもそも、最初の私の説明が悪かったですね。すみません。
説明無しの一行レスというのは、乱暴すぎたかと思います。失礼しました。


で、問題の解決に必要なのは、単項算術演算子「-」もしくは
2 項算術演算子「-」のいずれかだけですね。正の値と負の値の両方をさして、

Dim a As Integer, b As Integer
a = 123  'プラスの値
b = -987 'マイナスの値

Dim x As Integer, y As Integer
x = -a   '符号反転 → -123 になる
y = -b   '符号反転 → 987 になる

などと書けば良かったのかも知れません。


で、もしも二項演算子の方の - 演算子を使うとすれば、
  answer = 0 - Value
かな。あるいは、
  answer = -1 * Value
とか。まぁ、通常は単項演算子の方で十分でしょう。

編集 削除