[雑談]ある整数から下x桁の整数を返す関数作成について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kazuoni

[雑談]ある整数から下x桁の整数を返す関数作成について

#1

投稿記事 by kazuoni » 16年前

お邪魔します。

題名の通りある整数から下x桁の整数を返す関数作成についてなのですが、
どのようにやるのが(効率が)いいか悩んでいます。
関数作成においての条件・詳細は以下のとおりです。

引数:(int)ある整数 , (int)x桁
戻り値:(int)x桁の整数

例えばこの関数名をfuncとすると、

func(12345 , 3)

の戻り値は345です。

自分はこの関数の中でsprintfでまず数値を文字列化し、
残りの引数を使って返したい値の文字列をatoiで整数の戻す
というようにやっています。

特に質問というわけではないですが、
皆さんだったらどのようにこの関数を実現しますか?

よろしくお願いします。

(雑談アイコン消しちゃったんですね^^;)

組木紙織

Re:[雑談]ある整数から下x桁の整数を返す関数作成について

#2

投稿記事 by 組木紙織 » 16年前

そうたいした事ではないのですが、負の数を渡したときはうまく動いていますか。

私だったら余りを使うと思います。

kazuoni

Re:[雑談]ある整数から下x桁の整数を返す関数作成について

#3

投稿記事 by kazuoni » 16年前

記述し忘れました。。
今回は負は考えていません。
確かにsprintfは「-」はご法度ですね。
可搬性が低くなってしまいますね。。

・・・
なんで余りが思い浮かばなかったんでしょうか・・・w
早速実装してきます。

初級者

Re:[雑談]ある整数から下x桁の整数を返す関数作成について

#4

投稿記事 by 初級者 » 16年前

(第1引数)%(10の(第2引数)乗)

SCI

Re:[雑談]ある整数から下x桁の整数を返す関数作成について

#5

投稿記事 by SCI » 16年前

ちなみに、ある桁の数字のみを取り出すというようなことも同様にできます。
int n = 1234;
n %= 100;
n /= 10;
とすると、nには3が入ります。
なぜ「100」や「10」が出てくるのかを考えてみるといいかも知れませんね。

kazuoni

Re:[雑談]ある整数から下x桁の整数を返す関数作成について

#6

投稿記事 by kazuoni » 16年前

簡単な質問申し訳ありませんでした。。
初級者さん、SCIさんご回答ありがとうございました^^

またよろしくお願いします。

閉鎖

“C言語何でも質問掲示板” へ戻る