반응형
printf를 통해 이진수를 인쇄하는 방법
중복 가능성:
바이너리 형식으로 인쇄할 printf 컨버터가 있습니까?
여기 제 프로그램이 있습니다.
#include<stdio.h>
int main ()
{
int i,a=2;
i=~a;
printf("a=%d\ni=%d\n",a,i);
return 0;
}
출력은
a=2
i=-3
나는 이것을 이진법으로 인쇄하기를 원합니다.16진수, 8진수, 10진수에 해당하는 %x, %o 및 %d가 있습니다. 하지만 printf에서 이진수를 인쇄하는 것은 무엇입니까?
printf()는 그것을 직접적으로 지원하지 않습니다.대신 당신은 당신 자신의 기능을 만들어야 합니다.
다음과 같은 것:
while (n) {
if (n & 1)
printf("1");
else
printf("0");
n >>= 1;
}
printf("\n");
ANSIC에는 이 메커니즘이 없지만 사용할 수 있습니다.itoa()바로 가기:
char buffer[33];
itoa(i, buffer, 2);
printf("binary: %s\n", buffer);
출처: in cplus plus 참조
비표준 C이지만, K&R이 C북에서 구현을 언급했기 때문에 상당히 일반적일 것입니다.안에 있어야 합니다.stdlib.h.
언급URL : https://stackoverflow.com/questions/6373093/how-to-print-binary-number-via-printf
반응형
'codememo' 카테고리의 다른 글
| Flyway: [classpath:db/migration]에서 마이그레이션 위치를 찾을 수 없습니다. (0) | 2023.06.22 |
|---|---|
| 가장 가까운 10(또는 100 또는 X)까지 반올림하는 방법은 무엇입니까? (0) | 2023.06.22 |
| .NET에서 탐지할 수 없는 예외 목록 (0) | 2023.06.22 |
| MS SQL Server에서 테이블을 다른 파일 그룹으로 이동하려면 어떻게 해야 합니까? (0) | 2023.06.22 |
| Mongoose/Mongodb: 채워진 쿼리 데이터에서 필드 제외 (0) | 2023.06.22 |