Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Java / C# - 정수의 부호 유무에 따른 16진수 문자열 변환

다른 언어와 협업을 하다 보니 재미있는 일이 발생합니다. ^^ 자바의 경우, toString으로 정수를 16진수로 변환하는 방법은 다음과 같습니다.

Long n = -3527423806509724337L;
System.out.println(Long.toHexString(n)); // cf0c12bcb0bb4d4f

재미있는 것은 부호를 유지한 체로 변환해주는 방법도 있습니다.

Long n = -3527423806509724337L;
System.out.println(Long.toString(n, 16)); // -30f3ed434f44b2b1

보시는 것처럼 부호 있는 16진수(signed integer in base 16)로 변환되었습니다.

그럼, 이 결과를 닷넷과 비교해 볼까요? ^^ 일단, 기본적인 ToString은 부호 없는 16진수(unsigned integer in base 16) 변환을 수행합니다.

long value = -3527423806509724337;
Console.WriteLine(value.ToString("x")); // cf0c12bcb0bb4d4f

하지만, 아쉽게도(?) ^^ 자바와는 달리 또 다른 진수 변환 방법에서도 동일한 결과를 보여줍니다.

long value = -3527423806509724337;
Console.WriteLine(Convert.ToString(value, 16)); // cf0c12bcb0bb4d4f

비록 닷넷에서는 그런 기능의 변환이 없지만 어찌되었든 다음과 같이 간단하게 맞춰줄 수는 있습니다.

long value = -3527423806509724337;

long negValue = -value;
Console.WriteLine("-" + negValue.ToString("x")); // -30f3ed434f44b2b1

그래도, 어찌되었든 문자열 길이로 봤을 때 부호 없는 16진수 결과가 1글자 더 짧아서 효율적이긴 하죠. ^^




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 8/18/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 181  182  183  184  185  186  187  188  189  [190]  191  192  193  194  195  ...
NoWriterDateCnt.TitleFile(s)
326정성태8/16/200631662Team Foundation Server: 13. Sysnet 웹 사이트 TFS Migration
322정성태8/15/200626579개발 환경 구성: 6. 4GB 메모리 구성 [1]
316정성태9/20/200646408디버깅 기술: 6. .NET 예외 처리 정리 [6]
309정성태12/27/200647319디버깅 기술: 5. PDB 이야기 [7]
310정성태8/5/200634182    답변글 디버깅 기술: 5.1. PDB 파일에 따른 Debug 정보 - WinForm + Library 유형의 프로젝트파일 다운로드1
311정성태8/10/200634085    답변글 디버깅 기술: 5.2. PDB 파일에 따른 Debug 정보 - .NET 2.0 Web Application Project + Library 유형의 프로젝트
312정성태8/5/200636390    답변글 디버깅 기술: 5.3. PDB 파일에 따른 Debug 정보 - .NET 2.0 Web Site Model 유형의 프로젝트
313정성태8/12/200635186    답변글 디버깅 기술: 5.4. VS.NET 2005 디버그 모드에서의 PDB 파일 사용 차이 (1)
317정성태8/12/200632210    답변글 디버깅 기술: 5.5. VS.NET 2005 디버그 모드에서의 PDB 파일 사용 차이 (2)
318정성태8/12/200639164    답변글 디버깅 기술: 5.6. VS.NET 2005를 이용한 미니덤프 파일 분석 (1)
319정성태8/12/200633702    답변글 디버깅 기술: 5.7. VS.NET 2005를 이용한 미니덤프 파일 분석 (2) [1]
320정성태8/12/200638092    답변글 디버깅 기술: 5.8. WinDBG를 이용한 미니덤프 파일 분석 [1]
321정성태8/13/200643044    답변글 디버깅 기술: 5.9. Microsoft의 PDB 파일 관리
323정성태8/15/200644161    답변글 디버깅 기술: 5.10. Symbol Server 생성 [4]
324정성태8/15/200640334    답변글 디버깅 기술: 5.11. PDB 파일과 소스 코드
325정성태9/8/200633579    답변글 디버깅 기술: 5.12. CCP를 이용한 Windows Source Code 수준의 디버깅
329정성태8/19/200632117    답변글 디버깅 기술: 5.13. 소스 서버 구성 [1]
332정성태8/20/200633685    답변글 디버깅 기술: 5.14. GAC 에 등록된 Assembly 디버그 [2]
341정성태9/16/200625917    답변글 디버깅 기술: 5.15. [내용 예약]
342정성태9/16/200643820    답변글 디버깅 기술: 5.16. ASP.NET 디버깅 환경 구성 [1]파일 다운로드1
306정성태2/13/200722828기타: 15. .NET 이 생산성이 높다는 증거(!)
304정성태7/21/200625317VS.NET IDE: 41. 하위 폴더의 모든 프로젝트의 출력물을 제거 (Clean)
305정성태7/21/200624768    답변글 VS.NET IDE: 41.1. 하위 폴더의 모든 프로젝트의 출력물을 제거 (Clean) [1]
303정성태7/20/200622912Team Foundation Server: 12. 사용자 계정 재생성에 따른 Version Control 영향
302정성태8/21/200624716Team Foundation Server: 11. TFS Team Build와 VC++ Project 설정
299정성태7/23/200624104개발 환경 구성: 5. VMWare - VM 생성 화면 캡쳐
... 181  182  183  184  185  186  187  188  189  [190]  191  192  193  194  195  ...