vscodeのデバッグした際に、ウォッチ式の箇所にpow(k,cnt)の値を表示させたいが、nan(0xfffffff..)と表示されてしまいます。
変数と単純な四則演算などの組み合わせの際には問題なく表示されています。
NaNと表示されているということですが、整数は実数に含まれるため表示されるという認識です。
NaNとは、プログラミングにおいて、数値(実数)であることが期待される演算や処理の結果が数値として表せないものになったことを示す特殊な表現。 数値表現の標準規格であるIEEE 754に規定があり、多くのプログラミング言語が対応している。
不完全ですが、以下のコードを使用しています。
//#pragma GCC target("avx2") //#pragma GCC optimize("O3") //#pragma GCC optimize("unroll-loops") #include <bits/stdc++.h> #define rep(i, n) for (int i = 0; i < (n); ++i) #define rep1(i, n) for (int i = 1; i <= (n); ++i) using namespace std; using ll = long long; using P = pair<int, int>; int main() { int ans=0; int a,b,k; cin >> k >> a >> b; int a10=0,b10=0; cout << pow(2,0) << endl; cout << pow(2,1) << endl; cout << pow(2,2) << endl; int cnt=0; while(a>0){ a10=a10+(a%10)*(pow(k,cnt)); //a10=a10+(a%10)*(k^cnt); a=a/10; cnt++; } cnt=0; while(b>0){ b10=b10+(b%10)*k^cnt; b=b/10; cnt++; } ans=a10*b10; cout << ans << endl; }
nan(0xfffffff..)と表示されてしまうときの入力 k、a、b の値は何ですか?
質問を編集して追記してください。
また、2項演算子 ^ がビット単位の exclusive-OR だということを知っていますか?
回答1件
あなたの回答
tips
プレビュー