[解決済み] C 言語の整数の長さを求める。
2023-07-12 22:34:50
質問
C言語で整数の長さを求める方法を教えてください。
例えば
- 1 => 1
- 25 => 2
- 12512 =>5本
- 0 => 1
といった具合になります。
C言語でこれを行うにはどうしたらよいでしょうか。
どのように解決するのですか?
C:
数の絶対値の基数10対数をとり、それを切り捨てて、1を足せばよいのではないでしょうか?これは0以外の正負の数に対して機能し、文字列変換関数を使用する必要がありません。
は
log10
,
abs
そして
floor
の関数は
math.h
. 例えば
int nDigits = floor(log10(abs(the_integer))) + 1;
これを節で囲むと
the_integer != 0
というように
log10(0)
は
-HUGE_VAL
に従って
man 3 log
.
さらに、入力が負の場合、その負の符号を含む数値の長さに興味があれば、最終結果に1を加えたいかもしれません。
Javaです。
int nDigits = Math.floor(Math.log10(Math.abs(the_integer))) + 1;
N.B. この方法は浮動小数点演算の性質上、より直接的なアプローチよりも遅くなる可能性があります。効率についての議論はKangkanの答えのコメントを参照してください。
関連
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] mallocの結果はキャストするのですか?
-
[解決済み] 文字列をfloatやintにパースするにはどうしたらいいですか?
-
[解決済み] JavaScriptでカンマを桁区切りにして数値を表示する方法
-
[解決済み] JavaScriptで特定の範囲のランダムな整数を生成する?
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] JavaScriptで文字列を整数に変換する方法は?
-
[解決済み] C言語のコードで「:-!」とは何ですか?
-
[解決済み] 0から9までのランダムな整数を生成する
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
initializer element is not constant "というエラーが表示されるのですが?
-
C: 1を求める! + 2! + 3! + ... + n! (ループ)
-
[解決済み] 初期化でポインタ対象の型から修飾語を捨てる
-
[解決済み] MIPSのネストされたForループと配列の使用
-
[解決済み] Linuxカーネルにおけるcontainer_ofマクロの理解
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] C言語でファイルが存在するかどうかを確認する最も良い方法は何ですか?
-
[解決済み] フリーは、どのように無料化を知っているのですか?
-
[解決済み] C言語で "unsigned long "をprintfする方法は?
-
[解決済み] C言語で整数の桁数を求めるには?