KN King の C Programming: A Modern Approach (2ndEdn) から C を独学で学び始めたところです。
私はそれを楽しんでいますが、残念ながら家庭教師がいないため、適切な場合はアドバイスのためにここに奇妙な質問を投稿したいと考えています。
入力された整数を8進数で表示することについて質問しています。それを行う簡単な方法があると書かれていますが、それは本の後半に記載されています。私は次のことを思いつきました:
// Convert a number to octal
int n, n2, n3, n4, n5, n6;
printf("Enter a number between 0 and 32767: ");
scanf("%d", &n);
n6 = n % 8;
n5 = (n / 8) % 8;
n4 = ((n / 8) / 8) % 8;
n3 = (((n / 8) / 8) / 8) % 8;
n2 = ((((n / 8) / 8) / 8) / 8) % 8;
printf("%d%d%d%d%d", n2, n3, n4, n5, n6);
それは問題なく動作しますが、私は数学が苦手で、これを行うためのより効率的な方法があるかどうか、または可能な唯一の方法でそれを行っているかどうか疑問に思っていました...
他の誰かがその本を持っているとしたら、それは Q4 p.71 です。
御時間ありがとうございます。アンドリュー
PS検索エンジンを調べましたが、この「遅い」方法で実行しているものは見つかりませんでした!