
現在C言語で四則演算について勉強しています。
128桁の配列をもつ整数についてa,b,各桁を加算、減算するプログラムを書きたいのですが分からなくて困ってます。できればCのソースを教えて欲しいですおねがいします。
s = 65536 a[128],b[128],c[128]
i = -1 とする。
i <128 である限り、演算を実行。 i >127なら終わり。(++1)
c(i) = a(i) - b(i)という演算を行う。 c(i) < 0 の場合 s を借りてくる。
c(i)に s を加算し、上の桁から1を引く。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
long では 2^64 ≒ 10^19 までしか計算できないので、
10進数で20桁以上の整数の計算をしたいということでしょうか。
ならば以下の処理になるかと思います。
整数128桁の引き算()
// 入力は long が使えないので、文字列の10進数とします
char* ia = "12345678901234567890";
char* ib = "12345678901234567891";
// 文字列を分解して10進数の各桁を格納する配列を用意します
int a[128], b[128], c[128];
// 配列を初期化します。想定は、a[0]は1の位、a[1]は1e+1の位、a[127]は1e+128の位
a[i] = 文字列iaからi番目の文字 - '0'; // i番目が無ければ'0'
b[i] = 文字列ibからi番目の文字 - '0'; // i番目が無ければ'0'
// 各桁ごとに計算して c に代入
演算結果 = (i-1)桁のキャリー + a[i] - b[i];
キャリー = 演算結果 < 0 ? -1: 0;
借り値 = 演算結果 < 0 ? 10: 0;
c[i] = 演算結果 + 借り値
// 最後に c を文字列化して完了
i桁目の文字 = c[i] + '0';
No.3
- 回答日時:
難しいと思うのなら、
・桁数を128桁から減らし、2桁で考えては?
・減算は置いといて、加算のみのものを考えては?
・ループは使わずに考えては?
それで作れませんか?
2桁の配列を持つ整数について、a,b,各桁を加算するプログラム。
No.2
- 回答日時:
・配列一桁には何が入っているのですか? 10進数で1桁分? 2進で16bit分?
・s=65536 と初期化する意味は?
・なんで i の初期値 は -1?
・(++1)という謎の表記は for(; i < 128; ++i) の意味?
・上の桁って何? a[i-1] のこと?
・なんで C で配列に括弧を使うの?
・負の数は使えるの?
・最上位でボローが残ったらどうするの?
と突っ込みどころ満載なのですが、
ここじゃなくて C・C++ カテがよいと思いますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 小学生がたった1日で19×19までかんぺきに暗算できる本、のおみやげ算。数学的に言うと何? 3 2023/04/07 09:35
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 建築学 二級建築士の構造力学についての質問です。 1 2023/03/05 06:37
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- 数学 「FFTの基本は、DFTはサンプル数Nが偶数なら 2つのDFTに分解できるということ。 分解するとD 3 2022/03/31 21:01
- 高校 有効数字計算 確定した値を含む 2 2023/01/18 06:03
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- 数学 代数学でわからないところがあるので教えていただきたいです。 S={x,y,z}を濃度3の集合とする。 3 2022/11/13 06:05
- C言語・C++・C# 【CASLプログラム】 定数(80と55)を確保し、その和をGR1に、その差をGR2に求めるCASL 1 2022/12/16 01:17
- Excel(エクセル) 1から9まで表示するのに必要なボタン 1 2023/02/05 19:06
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
7で始まる電話番号?
-
エクセル:6E-05という表現は?
-
数字3桁の組み合わせの何通り...
-
数値とアルファベットに分ける...
-
√2の値はなぜ1.414…になるんで...
-
数学の階乗はどんな時に使うの...
-
2進数の割り算が分かりません...
-
Excelで数値の丸め
-
3÷7のあまりは「3」ですか?
-
です。 0.008020 の有効数字は...
-
3分の1とは何パーセントでしょ...
-
0以下の数字は何桁?
-
すいませんが、教えてください
-
対数関数 7^53の最高位と1の...
-
7で割ると3余り、9で割ると4余...
-
配列128桁の加算、減算につ...
-
3の倍数かつ奇数である数
-
アナログの電力量計を見たとき ...
-
この問題のやり方教えて!数値...
-
0.120は有効数字何桁ですか? ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
数字3桁の組み合わせの何通り...
-
2進数の割り算が分かりません...
-
数値とアルファベットに分ける...
-
7で始まる電話番号?
-
数学の階乗はどんな時に使うの...
-
3÷7のあまりは「3」ですか?
-
EXCELで10万未満切捨ての...
-
エクセル関数で桁数指定し数値...
-
電話番号のハイフンの入れ方
-
NUMBER(N,M) としたときの、格...
-
60進法と10進法
-
3分の1とは何パーセントでしょ...
-
Googleの電卓アプリの有効数字...
-
エクセルのsumifの検索値
-
アナログの電力量計を見たとき ...
-
【場合の数】 2桁の自然数で、2...
-
AccessでExcelでのMOD関数と同...
-
Excelで数値の丸め
-
0以下の数字は何桁?
おすすめ情報