반응형
16진수에 대한 선행 0(C) 인쇄
나는 MD5 해시의 결과를 콘솔에 인쇄하려고 하는데 대부분 효과가 있다.정확성을 보장하기 위해 온라인 MD5 계산기를 사용하여 결과를 비교했다.등장인물은 대부분 같지만, 내 것에는 몇 개가 없어 모두 영점이다.
내가 설명할게.결과는 16바이트 미서명 문자 *이다. 나는 이 바이트들을 하나씩 인쇄한다.각 바이트는 화면에 2자를 인쇄한다.그러나 둘 중 첫 번째 문자가 0이면 0을 출력하지 않는다.
printk("%x", result);
결과는 서명되지 않은 문자* 형식이다.포맷을 제대로 하고 있는 건가, 아니면 뭔가 빠뜨린 건가?
사용하다"%02x"
.
이 두 가지는 출력 범위가 항상 두 글자(적어도)가 되기를 바란다는 것을 의미한다.
0은 패딩이 필요한 경우 공백 대신 0을 사용하는 것을 의미한다.
result
포인터, 루프를 사용하여 모든 숫자를 인쇄:
int i;
for (i = 0; i < 16; i++) {
printf("%02x", result[i]);
}
참조URL: https://stackoverflow.com/questions/12062916/printing-leading-zeroes-for-hexadecimal-in-c
반응형
'programing' 카테고리의 다른 글
정렬된 배열의 "=="는 정렬되지 않은 배열보다 빠르지 않은가? (0) | 2022.04.16 |
---|---|
포인터 붕괴에 대한 배열이란? (0) | 2022.04.16 |
Vue JS 제공/주체 및 소품 (0) | 2022.04.16 |
여러 하위 구성 요소에서 데이터 수집 Vue js (0) | 2022.04.15 |
및에만 formatOnSave를 사용하지 않도록 설정하는 방법 (0) | 2022.04.15 |