質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

1702閲覧

2進数 64進数  関数定義

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2020/01/25 02:44

編集2020/02/04 04:41

コマンドラインに非負整数 n と 正整数 B (2 ≦ B ≦ 64) が与えられたとき、 n、B に続けて n の B 進表現とその桁数 m を1行として書き出すプログラムを作りたいです。

その書き出す形式はつぎのとおりとすること。

数値 n、B は、 必要最小限の桁数で書き出し、その間に @ を書き出す。
その後、前後に空白を置いて = を書き出し、続けて、n の B 進表現を必要最小限の桁数で書き出す。
その後に、n の B 進表現を書き出した桁数 m を角括弧 [ ] で括って必要最小限の桁数で書き出す。
これらの書出しが全て終わったところで改行を書き出す。
プログラムは、つぎの仕様をもつ関数 show を使う形に作ること。

int show(int value, int base);

// 非負整数 value の base進表現を

// 必要最少の桁数で標準出力に書き出す

// 2<=base<=64

// この関数は書き出した桁数を返す

// なお、六十四進までの数値表現に使う数字と

// その表す値の対応はつぎのとおりとする

//  数字 0123456789ABCDEF

//   値  0         10

//  数字 GHIJKLMNOPQRSTUV

//   値 16   20         30

//  数字 WXYZabcdefghijkl

//   値 32       40

//  数字 mnopqrstuvwxyz+/

//   値 48 50         60

■実行例
コマンドライン入力

100 2

標準出力

100@2 = 1100100[7]

コマンドライン入力

65531 8

標準出力

65531@8 = 177773[6]

コマンドライン入力

2146041533 64

標準出力

2146041533@64 = 1/wVwz[6]

c

1#include <stdio.h> 2#include "show.h" 3 4int main(int argc, char *argv[]){ 5 6 ・・・ コマンドラインから与えられる整数値 n, B を使って 7 n の B 進表現を書き出すとともに、それを書き出すのに要した 8 必要最小限の桁数を書き出す。 9 ただし、関数 show を使用 10 11 return 0; 12}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/01/25 02:46

同じ質問を連投するのはアラシ行為です やめましょう
cateye

2020/01/25 03:29 編集

ヒント char ch = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+"[n % B];
thkana

2020/01/25 05:16

「作りたい」のなら代わりに作ってしまってはお楽しみを奪うことになってしまうかと遠慮してます。どのへんがわからないのか説明していただければお手伝いは出来るかも知れません。
guest

回答2

0

ベストアンサー

解決することができました。

投稿2020/01/26 09:40

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

問題は「2進数から64進数 n進」と全く同じですので、私の回答をそのまま提出してください。

投稿2020/01/26 03:04

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問