32비트 음수형(부호 있는 정수, signed long)을 32비트 양수형(부호 없는 정수, unsigned long)으로 바꾸는 간단한 방법입니다.
API를 사용할 때 자주 쓰입니다.
창조에선 음수 처리를 제대로 못하는 버그가 있거든요.
음수로 된 수를 그냥 인자로 넘기면 아예 함수 호출이 안되는 무지막지한 버그입니다.
이 버그를 해결하기 위해, 음수형을 양수형으로 고쳐서 넘기면 됩니다.
저번에 제가 소스 자료실에 변환기 예제를 올렸으나, 소스를 보시면 아시겠지만
일단 이진수로 고쳤다가 다시 십진수로 고치는 삽질-_-을 합니다.
생각난 김에 그것을 개선하겠습니다.
사용자함수로 만들어 쓰시면 편합니다.
실수함수: 부호없애(실수: 부호있는정수);
===============================================================
// 부호 있는 정수 -> 부호 없는 정수
만일 (부호있는정수 < 0)
{
결과 := bAND(부호있는정수, 2147483647) + 2147483648;
}
아니면
{
결과 := 부호있는정수;
}