0

TL;DR: int を 16 進数に変換する方法と、1 文字の文字列を 16 進数に変換する方法 (つまり 'F' -> 0xF )

文字を 16 進値に変換し、計算を行ってから、文字に変換し直します。

だから私はこのようなものを持っています:

addBits: aValue move: action
"aValue is always either 5 or 10 (0xA)"
"move is either 'a' for add or 's' for subtract"

|sum conversion|

"self stringToMakeHex is the string, it's always either an 'F', 'A', '0', 
or '5' I need to turn it into either 0xF,0xA,0x0,or 0x5"
conversion := (self stringToMakeHex) asInteger.

(action = 's')
ifTrue:[sum:= conversion - aValue.]
ifFalse:[sum:=conversion + aValue.].

stringToMakeHex: (sum asString).

asInteger'F' を何らかの形でゼロに変換するため、 を行うべきではないことを知っているので、そこから 0xF または 15 を取得する良い方法があるかどうか疑問に思っています。私の他の問題は、aValue が整数 (5 および 10 base10) として入力されるため、16 進値 0x5 および 0xA を取得する方法が必要になることです。

このデータはすべて、dif プログラムから TCP/IP を介して取得されるため、受信する形式を制御できません...接続を介して通信を処理するために文字列を送り返す必要があるのは役に立ちません

4

2 に答える 2