取得した文字列を16進に変換 – プログラミング – Home

取得した文字列を16進に変換
 
通知
すべてクリア

取得した文字列を16進に変換


DKY
 DKY
(@DKY)
ゲスト
結合: 17年前
投稿: 1
Topic starter  

VC++2005の環境(MFC可)でアプリを作成しています。

そこで、例えばABと入れた数字を16進数に直したいのですが
簡単なものはないでしょうか?

文字列を数字に直せないので教えてください。


引用解決済
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> そこで、例えばABと入れた数字を16進数に直したいのですが

数字? AB はどうみても 文字列 ですが。


返信引用
wclrp ( 'o')
 wclrp ( 'o')
(@wclrp ( 'o'))
ゲスト
結合: 18年前
投稿: 287
 

よくある勘違いかな。

16進数とは数値を人間が読める文字で表現する方法の一つ。
直したいとか言われても直すようなことではないので質問の意味が不明。
嫌味じゃなくてABはそのままで既に16進数だし。

>ABと入れた数字
ABは数字じゃないので意味わからないので推測。

'A'という文字のアスキーコードを知りたいの?
それなら
int x = 'A';

ABという16進数を整数型の変数に入れたいの?
それなら
long x = strtol(AB, NULL, 16);

ABという16進数を整数型の変数に入れたいの?
それなら
int x = 0xAB;


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

使っている言葉をもう一度整理した方がいいかもしれませんね。

数字と書いてしまうと数字の文字列を連想しそう。
変数の中に格納されている値の事を言いたいのなら
数値と書いた方が伝わると思いますよ。
10進数とか16進数と言うのは、数値を文字列表現した時に
10を基数にしているか16を基数にしているかの違いを指しているので
数値としてみた時は16進数のABと10進数の171は同じ物になります。
あっ、これはlongとかshortの値として見た時にです。
(正確に書くともっと並べないといけないですが、省略します)

多分の話で書くと

ABと入れた数字の文字列を16進数表現の文字列であると考えて数値に直したい。

と書きたいのかな?
この辺、よく整理して考えて見てください。
表現方法を間違うとさっぱり伝わらない事になります。


返信引用
15wt0kx1rn
 15wt0kx1rn
(@15wt0kx1rn)
ゲスト
結合: 17年前
投稿: 2
 

v3pmucrstqy6 http://www.585783.com/170309.html l3lse27s9ngs3


返信引用
15wt0kx1rn
 15wt0kx1rn
(@15wt0kx1rn)
ゲスト
結合: 17年前
投稿: 2
 

v3pmucrstqy6 kn1cvxq1 l3lse27s9ngs3


返信引用
sjp2xfrema
 sjp2xfrema
(@sjp2xfrema)
ゲスト
結合: 17年前
投稿: 1
 

p5kj5k3l6zrnlhfox g0luc8ledou8ej cauin63u81n96tl


返信引用
杏の里
 杏の里
(@杏の里)
ゲスト
結合: 17年前
投稿: 7
 

atoiは、10進数を扱うので「文字列を数字に直せない」と解釈しているのかな。
文字列を判断して16進数にする関数を自作すれば良いと思います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました