teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

.

2023/02/24 02:03

投稿

int32_t
int32_t

スコア21933

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  質問文のコードのようなものは、現在のC標準にはない気がします。
2
- コードを減らしたいなら、`strtol()` を使えばいいのではないでしょうか。効率を求めるなら質問文にあるコードを使えばいいと思います。
2
+ コードを減らしたいなら、`strtol()` を使えばいいのではないでしょうか。効率を求めるなら質問文にあるコードや、対応表用意して使えばいいと思います。
3
3
  ```c
4
4
  int toxdigit(int c) {
5
5
  char buf[2] = {(char)c, 0};

2

.

2023/02/24 02:01

投稿

int32_t
int32_t

スコア21933

answer CHANGED
@@ -8,4 +8,4 @@
8
8
  ```
9
9
 
10
10
  ----
11
- 質問のタイトルのように数値を16進数文字列に変換するのは、`snprintf()` などでしょうか。
11
+ 質問のタイトルのように文字やら数値を16進数文字列に変換するのは、`snprintf()` などでしょうか。

1

.

2023/02/24 01:59

投稿

int32_t
int32_t

スコア21933

answer CHANGED
@@ -1,7 +1,11 @@
1
- 現在のC標準にはない気がします。
1
+ 質問文のコードのようなものは、現在のC標準にはない気がします。
2
2
  コードを減らしたいなら、`strtol()` を使えばいいのではないでしょうか。効率を求めるなら質問文にあるコードを使えばいいと思います。
3
3
  ```c
4
4
  int toxdigit(int c) {
5
5
  char buf[2] = {(char)c, 0};
6
6
  return (int)strtol(buf, NULL, 16);
7
7
  }
8
+ ```
9
+
10
+ ----
11
+ 質問のタイトルのように数値を16進数文字列に変換するのは、`snprintf()` などでしょうか。