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

解決


HTML-M  2008-04-24 04:07:11  No: 144675

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


魔界の仮面弁士  2008-04-24 04:09:21  No: 144676

a = -a  とか。


HTML-M  2008-04-24 04:34:21  No: 144677

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


T★M  2008-04-24 04:50:58  No: 144678

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


はぁ?  2008-04-24 04:53:34  No: 144679

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

はぁ?

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


HTML-M  2008-04-24 04:55:24  No: 144680

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


HTML-M  2008-04-24 04:57:31  No: 144681

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


とりあえず  2008-04-24 04:58:59  No: 144682

算数の勉強が必須。

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

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

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

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


HTML-M  2008-04-24 05:03:42  No: 144683

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


はぁ?  2008-04-24 05:04:14  No: 144684

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

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

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

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

つまり、
a = -a

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

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

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

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


まら  2008-04-24 08:55:42  No: 144685

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


やじゅ  2008-04-24 22:17:50  No: 144686

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

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


特攻隊長まるるう  2008-04-24 23:15:21  No: 144687

> 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-25 01:34:12  No: 144688

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

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

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


通り  2008-06-28 19:49:00  No: 144689

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


我龍院  2008-06-28 23:13:44  No: 144690

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


  2008-06-30 21:56:40  No: 144691

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

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


OldVBer  2008-07-05 16:37:13  No: 144692

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

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


魔界の仮面弁士  2008-07-05 17:46:19  No: 144693

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

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

で、問題の解決に必要なのは、単項算術演算子「-」もしくは
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
とか。まぁ、通常は単項演算子の方で十分でしょう。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加