본문 바로가기
Delphi Tip/문자

델파이 2진수 변환(Binaryconversion)

by MonoSoft 2024. 6. 13.
728x90
반응형

델파이 2진수 변환(Binaryconversion)

728x90

 

 

 

 

두번째 인자가 비워져 있거나,

2진수를 표현하는 자릿수에 못 미치면 2진수로 표현될 수 있는

최소 길이로 표현되고 두번째 인자가 2진수 자릿수보다 크면 앞에 0이 붙어 나온다.

 

function IntToBin(const Value: Cardinal; Digits: Integer = 0): string;

var

i, d: Integer;

begin

for d := 1 to 32 do

  if (1 shl d) > Value then break;

  if Digits > d then d := Digits;

  SetLength(Result, d);

  for i := 0 to d-1 do if (1 shl i) and Value = 0 then

  Result[d-i] := '0'

else

  Result[d-i] := '1';

end;

 

IntToHex로 만들어진 문자열은 StrToInt('$'+string)으로 돌릴 수 있지만

이건 그렇지 못해서 반대로 하는 함수다.

function BinToInt(const S: string): Cardinal;

var

i, d: Integer;

begin

Result := 0;

d := 0;

for i := length(S) downto 1 do

begin

if S[i] = '1' then

Result := Result + (1 shl d);

inc(d);

end;

end;

728x90
반응형

'Delphi Tip > 문자' 카테고리의 다른 글

한글(2Byte)문자열 깨지지 않게 자르기  (0) 2024.07.08
한글 초/중/종성 알아내기  (0) 2024.02.15
델파이 UTF-8  (0) 2023.11.15
Case문으로 문자 비교하기  (0) 2023.11.08
String 을 PAnsiChar 변환  (0) 2021.10.14

댓글