2진수를 10진수 16진수로 출력

2024. 7. 6. 19:52정보처리,전산/Clang

반응형

 

2진수 -> 10진수

#include <math.h>
#include <stdio.h>
#include <string.h>

int binaryToDecimal(const char *binary) {
  int decimal = 0;
  int length = strlen(binary);
  for (int i = 0; i < length; i++) {
    if (binary[length - 1 - i] == '1') { //문자열의 끝에서부터 현재 인덱스 i 위치에 있는 문자가 '1'인지 확인
      decimal += pow(2, i);
    }
  }
  return decimal;
}

int main() {
  char binary[65]; //최대 64비트 2진수

  printf("이진수 입력: ");
  scanf("%64s", binary);

  int decimal=binaryToDecimal(binary);
  printf("%d\n",decimal);
  return 0;
}

 

 

 

 

 

 

10진수 -> 16진수

#include <math.h>
#include <stdio.h>
#include <string.h>

int binaryToDecimal(const char *binary) {
  int decimal = 0;
  int length = strlen(binary);
  for (int i = 0; i < length; i++) {
    if (binary[length - 1 - i] == '1') {
      decimal += pow(2, i);
    }
  }
  return decimal;
}



//10진수 ->16진수
void decimalToHexadecimal(int decimal, char *hexadecimal){
  sprintf(hexadecimal,"%X",decimal);
}


int main() {
  char binary[65]; //최대 64비트 2진수
  char hexadecimal[17];

  printf("이진수 입력: ");
  scanf("%64s", binary);

  int decimal=binaryToDecimal(binary);

  decimalToHexadecimal(decimal,hexadecimal);

  printf("%s\n",hexadecimal);
  return 0;
}

 

 

 

 

#include <stdio.h>

int main(){
  short digit; //2byte 정수 자료형
  short *ptr; //4byte 포인터 변수
  ptr=&digit;
  *ptr=256;

  printf("%d(%04x)",digit,digit); //10진수, 16진수 네자리 출력
}
반응형

'정보처리,전산 > Clang' 카테고리의 다른 글

포인터, 문자열, 배열, 기본 입출력  (0) 2024.07.15
Struct 구조체 메모리 할당 크기  (0) 2024.07.10
포인터 변수 **p  (0) 2024.07.06
지역변수 정적변수  (0) 2024.07.04
struct 구조체  (0) 2024.06.30