こんにちは お世話になっています。
Integerの整数をバイナリにしようとし悩んでいます。
HexToBinをかけた際に取得したHexが2桁になると
はじめの桁しか認識されず、以下の場合16と同じ結果になってしまいます。
なので255まではうまくいきます。
何かマヌケなことをにしているのでしょうか?
どなたか、よければご教授ください。
ソースは以下のような感じです。
var
int : integer;
intCnt : integer;
pInt : pointer;
pbuff : pointer;
str : string;
begin
GetMem(pbuff, 4);
GetMem(pInt, 4);
int := 256;
str := LowerCase(inttoHex(int, 4));
StrPCopy(pInt, str);
HexToBin(pInt, pbuff, SizeOf(pInt));
//確認
str := PChar(pbuff)^;
end;
>str := PChar(pbuff)^;
話がずれますが、
PCharではなくCharでは?
すみません。まちがえました。
ほんとすみません
http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/article/032/032720.html
こちらにIntToBinがあります
TtPIPICHさん ありがとうございました。
解決しました。 ありがとうございました。
ツイート | ![]() |