위와 같이 프로그램 계산기로 전환하고 "0x8001001B" 를 입력한 후 Dec 로 전환하면 음수가 된다
보통 Javascript 를 이용하여 HexToDec 함수를 코딩할땐 다음과 같은 방식으로 시도하려고 할 것이다
var dec = parseInt("0x8001001B",16);
연산의 결과는 "2147549211" 이다
위와 같은 연산의 결과값으로는 내가 원하는 값을 얻을 수 없었다
단지 다음과 같은 연산을 통해 제대로 된 값을 얻어올 수 있다는 것만 알게 되었다
var dec = parseInt("0x8001001B", 16) - 0xffffffff - 1;
이 코드를 찾아낸 것도 다름아닌 우리 부장님이시다... (바쁘실텐데 어느새)
관련내용은 구글링하면 찾을 수 있지만
보수, 음수등의 키워드는 알고 있지만 왜 저런 수식이 되어야 하는지는 정확히 잘 모르겠다.
http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript
'정보 > IT' 카테고리의 다른 글
ActiveX 와 보안 (0) | 2012.07.14 |
---|---|
Javascript Preprocessor(2) (0) | 2012.07.13 |
제7회 공감세미나 동영상 (0) | 2012.05.07 |
Script Bot (Bejeweled Blitz) (2) | 2012.05.02 |
Java 에서 File 의 내용 수정 여부 판단 (0) | 2012.03.06 |