
No.1ベストアンサー
- 回答日時:
入力した値が、整数型で扱える範囲を超えているのでは?
一般的に、32ビットの符号付き整数型で扱える値の範囲は、
-2,147,483,648 ~ 2,147,483,647
Microsoft Learn - データ型の範囲
https://learn.microsoft.com/ja-jp/cpp/cpp/data-t …
下記のようなプログラムで、intで扱える最大値を確認してみるとか、long型が使用可能なら使ってみるとか。
Webプログラミング入門 C言語入門 - 整数型(char型 int型)の最大値と最小値 - limits.h
https://webkaru.net/clang/limits-header/
No.5
- 回答日時:
>大きい実行結果で大きい値が異なってしまったのですがなぜなのでしょうか。
プログラムが想定した範囲外の「大きい値」が入力されたから
です。
詳細は他の回答者の通りで、int a と宣言した時点で、
変数 a は、当該Cコンパイラが想定したaの値以外の入力に関しては、動作結果は保証しない
という約束を認めて使っているわけですよね。
No.4
- 回答日時:
質問とは関係ありませんが
if (a > b)
{
//ここの処理が終わっても、次の条件比較を行う
}
if (a < b)
{
//ここの処理が終わっても、次の条件比較を行う
}
if (a == b)
{
}
は、間違いではありませんが、if条件に一致するスコープ内で、aやbを変更しないのであれば、最適化をしなければ、a>bの条件時に一致した後も、aとbの変数比較が行われるので、例えば、何度も処理を行うケースには、余計な処理を行うことになるので、下記のように変更した方がいいです
【推奨】
if (a > b)
{
//ここの処理が終わったら、他の条件比較は行わず抜ける
}
else if (a < b) //上記以外の条件で、 a<bのが当てはまる時
{
//ここの処理が終わったら、次の条件比較は行わず抜ける
}
else // 上記二つの条件以外の全て、if (a == b)
{
}
最後のelseがご自身で分かりにくければ、下記のように書いておけばいいと思います
else //if (a == b)
No.3
- 回答日時:
数と内部表現の問題
16bit整数の場合、数値は-32768~+32767しか取れない。
先頭ビットを符号にし、マイナスは2の補数表現。
-1=0xffffffff
32bit整数の場合は、−2,147,483,648~2,147,483,647
32bit整数なら、変数をLong int宣言
64bit整数なら、変数をLong Longt宣言
No.2
- 回答日時:
989,089,778,575,856
↓ 16進数
0003_8392_68E7_29F0
↓ signed int 型に収まる 32 bit の範疇に切り取り
68E7_29F0
↓ 10進数
1,759,980,016
大きい値を扱いたいならば
int → long long
%d → %lld
としては如何でしょうか。
参考)
https://learn.microsoft.com/ja-jp/cpp/c-runtime- …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミング 2つの整数を読み込んで、等しければ 「二つの値は同じです」と表示し、そうでなければ, 4 2023/05/15 16:03
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Ruby プログラミング 3 2023/06/09 14:30
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Excel(エクセル) エクセル、日々の集計整理方法。(再送です。) 5 2022/10/02 00:19
- Ruby プログラミングについてです。教えていただきたいです。 実行例のように、整数xが1から12までにつき、 2 2022/12/19 22:47
- Excel(エクセル) [Excel2016] 相関表等の自動作成 2 2022/08/01 20:34
- C言語・C++・C# C言語 入力した値から0までの数を並べて表示するプログラミングを作りたいんですけど、自分でやってみた 2 2023/05/22 18:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
マクロで奇数と偶数の値を2か所...
-
変数名の取得
-
setcookieで「path」に複数の値...
-
VB初心者。小数点以下の表示で...
-
VBA ドロップダウンリストを残...
-
[VB.net] DataGridViewのコンボ...
-
Excel VBA 複数選択したリスト...
-
VB.NETでコンボボックスの1行目...
-
マクロ 特定のセル値のみクリ...
-
合同混合法・乗算合同法の実際...
-
値を返さないコード パス
-
PL/SQLでのTO_DATEの時間取得に...
-
VB2008 iniファイルの指定セク...
-
C#の質問です
-
【C++/CLI.NET】コンボボックス...
-
ユーザーフォームのテキストボ...
-
WindowsFormアプリケーションに...
-
OracleでRecordCountが正しくな...
-
コンボボックスの幅の変更について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
VBA ドロップダウンリストを残...
-
VB.NETでコンボボックスの1行目...
-
Excel VBAのリストボックスの値...
-
C#の質問です
-
VB初心者。小数点以下の表示で...
-
変数に代入してある数値を表示...
-
値を返さないコード パス
-
マクロで奇数と偶数の値を2か所...
-
DataGridView1のcellで計算
-
vb6のVSFlexGridで選択行、列の...
-
PL/SQLでのTO_DATEの時間取得に...
-
setcookieで「path」に複数の値...
-
変数名の取得
-
ACCESS VBA 画像ファ...
-
vbscriptを使いexcelを参照して...
-
Excel VBA 複数選択したリスト...
-
【C++/CLI.NET】コンボボックス...
-
シーケンサで最小値を保持する
-
マクロ 特定のセル値のみクリ...
おすすめ情報
値をこんなに大きくしなければうまくいくんですけど、