質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

5回答

3795閲覧

-2147483648-1と2147483647+1を計算したい。キーボードから数値を入力する方法

wbcokok

総合スコア10

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2017/06/27 10:14

編集2017/06/27 15:03

-2147483648~2147483647
の範囲でしか四則演算できないので解除したい(どうしてこの範囲かは理解しました。)

#include <stdio.h>

int main(void){

unsigned int a = 2147483647;
unsigned int b = 1;
unsigned int c = a + b;

printf( "a = %d, b = %d, c =%d \n", a, b, c);

return 0;
}

###試したこと
a = %uとしてみたがマイナス計算の時に適応できない

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2017/06/27 10:32

タイトルとコードも一致しませんし、結局何がしたいのか、質問文から伝わってきません。
mattn

2017/06/27 10:53

「キーボードから数値を入力する方法」が知りたいのか「unsigned int の範囲を超えて計算する方法」を知りたいのか「printf の書式」を知りたいのか質問文に書きましょう。
wbcokok

2017/06/27 10:57

キーボードから数値を入力する方法を知りたいです。
guest

回答5

0

c

1#include <stdio.h> 2#include <stdlib.h> 3 4int 5main(int argc, char* argv[]) { 6 double f = 0; 7 if (scanf("%lf", &f) != 1) { 8 fprintf(stderr, "読み取れません\n"); 9 return 1; 10 } 11 printf("入力した値は %f です\n", f); 12 return 0; 13}

キーボードから値を入力するコードです。

投稿2017/06/27 11:03

編集2017/06/27 11:05
mattn

総合スコア5030

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mattn

2017/06/27 11:04

プログラムへの適用はご自分で行って下さい。
wbcokok

2017/06/27 14:50

ありがとうございました。
guest

0

C

1#include <stdio.h> 2 3int main(void){ 4 long long a = 2147483647LL; 5 long long b = 1LL; 6 long long c = a + b; 7 8 printf( "a = %lld, b = %lld, c =%lld \n", a, b, c); 9 return 0; 10}

投稿2017/11/07 01:47

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

#include <stdio.h>
int main(void){

unsigned int a = 2147483647;
unsigned int b = 1;
unsigned int c = a + b;

printf( "a = %u, b = %u, c =%u \n", a, b, c);

投稿2017/11/07 01:23

always007

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

既に回答があるので、参考サイト例

1の補数、2の補数、
http://www.it-license.com/cardinal_number/The_complement_of_2.html

数値表現の技法、-0、+0
http://www.si.gunma-u.ac.jp/~iwai/binarydata/representation.htm

補数を使う利点
http://kccn.konan-u.ac.jp/information/cs/cyber03/cy3_hub.htm

C言語関数辞典
http://www.c-tipsref.com/reference/stdio/printf.html

投稿2017/06/27 11:28

daive

総合スコア2028

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wbcokok

2017/06/27 14:51

すべて参考にさせてもらいます。
guest

0

こんにちは。

%dはint型に対する書式指定子です。printf()文は実際の変数の型が何であれお構いなく書式指定子の型として処理します。(型が一致していない時警告してくれるようなコンパイラもあるようですが。)

%uがunsigned int型に対する書式指定子ですので、printf( "a = %u, b = %u, c =%u \n", a, b, c);としてみて下さい。

投稿2017/06/27 10:51

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wbcokok

2017/06/27 11:01

ありがとうございます。キーボードから数値を入力する方法を知りたいです。 今日勉強したばかりで下手な質問ですみません。
Chironian

2017/06/27 12:52

どのようなプログラムをトライしていて、どのようにうまくいかないのか記載下さい。質問欄の左下に「編集」ボタンがあるのでそれを押せば、現在の質問文を変更できます。 また、ついでに質問文も適切なものへ変更しませんか? もし、キーボードからの入力方法が皆目検討も付かないということでしたら、それは基礎です。まず書籍やサイトを見て勉強しましょう。 ↓例えば下記など。 http://ratan.dyndns.info/MicrosoftVisualC++/nyuryoku.html
wbcokok

2017/06/27 14:49

ありがとうございます。 今後から気を付けていきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問