• 십진수 -> 이진수 
  • void convertDecimalToBinary(int n, char *bin) {
    	int count =0;
    	for(int i=31 ; i>=0; i--) {
    		int k = n>>i;
    		if(k&1) {
    //			printf("1");
    			bin[count] = 1 + '0';
    		} else {
    //			printf("0");
    			bin[count] = 0 + '0';
    		}
    		count++;
    	}
    //	printf(" ");
    	bin[count] = '\0';
    }
    
  •  

 

'프로그래밍 > C언어' 카테고리의 다른 글

기타 tip  (0) 2019.05.23
문자/숫자 식별/변환하는 라이브러리 함수 (isdigit, isalpha)  (0) 2019.05.23
정렬  (0) 2019.05.23
기본 자료형(실수, 정수)  (0) 2019.05.23
스트링 검색 및 변환  (0) 2019.05.23

1. 실수 소수점 2자리 반올림 방법

    • printf 이용

#include <math.h>
1)
float val = 12.98765;
printf("%.2f \n",val);
2)
float f = 0.1553846;
f = floor((f * 100)+0.5) / 100;
printf("%f \n",f);
3)
double x = 0.1553846;
double rx = round (x * 1e2) * 1.e-2;
printf("%f \n",f);
  • math.h 이용 

2. 실수 올림 및 내림 

#include <math.h>
float rounded_down = floorf(val * 100) / 100;   /* 내림: 37.77 */
float nearest = roundf(val * 100) / 100;  /* 반올림: 37.78 */
float rounded_up = ceilf(val * 100) / 100;      /* 올림: 37.78 */

 

3. 백단위 반올림 

   (val + 500) / 100 * 100 

 

'프로그래밍 > C언어' 카테고리의 다른 글

기타 tip  (0) 2019.05.23
문자/숫자 식별/변환하는 라이브러리 함수 (isdigit, isalpha)  (0) 2019.05.23
정렬  (0) 2019.05.23
진법변환  (0) 2019.05.23
스트링 검색 및 변환  (0) 2019.05.23

1) strstr , strchr, strrchr

#include <string.h> 
void main()
{
    char s1[30] = "qazwsxedcrfvtgbyhn";
    char *ptr = strchr(s1, 'a');  //from left
    char *ptr2 = strrchr(s1, 'a'); //from right 
    char *ptr3 = strstr(s1, 'az'); 
    while (ptr != NULL) {
        printf("%s\n", ptr);         
        ptr = strchr(ptr + 1, 'a');  
    }
}

 

2) strtok

   strtok 사용 시 원본 문자열이 변형되므로 주의할 것 

 

char s1[30] = "2015-06-10T15:32:19"; 
    char *ptr = strtok(s1, "-T:");
    while (ptr != NULL) {
        printf("%s\n", ptr);          
        ptr = strtok(NULL, "-T:");   
    }
 

 

 

3) 문자열 숫자 변환 

https://dojang.io/mod/page/view.php?id=386 

 

C 언어 코딩 도장: 46.2 특정 진법으로 표기된 문자열을 정수로 변환하기

이번에는 특정 진법으로 표기된 문자열을 정수로 변환해보겠습니다. strtol 함수를 사용하면 16진법으로 표기된 문자열을 정수로 바꿀 수 있으며 함수 이름은 string to long에서 따왔습니다(stdlib.h 헤더 파일에 선언되어 있습니다). strtol(문자열, 끝포인터, 진법); long strtol(char const *_String, char **_EndPtr, int _Radix); 성공하면 변환된 정수를 반환, 실패하면 0을 반환 stri

dojang.io

4) 그외 문자열 변환 처리

https://btyy.tistory.com/222

 

[C언어] 문자열 자르기( strtok() ) / 문자열과 숫자 서로 변환하기 ( atoi(), strtol(), atof(), strtof() ) / 회문 판별, N-gram 만들기

문자열 자르기( strtok() ) / 문자열과 숫자 서로 변환하기 ( atoi(), strtol(), atof(), strtof() ) / 회문 판별, N-gram 만들기에 대해서 정리한다. 문자열 자르기 - strtok(대상문자열, 기준문자); ( 기준문자..

btyy.tistory.com

5) 두문자열이 교차하면서 유사도 확인 ( 동일 글자가 몇개 있는지 확인 )

firstStr:  GTTAG ->
secondStr:  <- AGTCATG  

same : 문자열 교차시 같은 글자가 가장 많은 것 
swapIndex : 첫번째 문자열이 모두 이동되어 두번째 문자열이 왼쪽으로 이동 
firstStr, secondStr : 교차할 문자열

for(int swapindex=0; swapIndex<2; swapIndex++) {
	int len1 = strlen(firstStr);
	int len2 = strlen(secondStr); 
	
	char tmpStr[MAX];
	int pos=0;
	for(int i=0; i<len1; i++) {
		int similarity =0;
		memset(tmpStr, 0, sizeof(char)*MAX);
		strncpy(tmpStr, firstStr, sizeof(char) * (++pos));
		for(int j=0; j<strlen(tmpStr); j++) {
			if(tmpStr[j] == secondStr[len2 - pos +j]) similarity++;
		}
		if(same < similarity) same = similarity;
	}
	
	memset(tmpStr, 0, sizeof(char) * MAX);
	strcpy(tmpStr, firstStr);
	strcpy(firstStr, secondStr);
	strcpy(secondStr,tmpStr);
}

 

'프로그래밍 > C언어' 카테고리의 다른 글

기타 tip  (0) 2019.05.23
문자/숫자 식별/변환하는 라이브러리 함수 (isdigit, isalpha)  (0) 2019.05.23
정렬  (0) 2019.05.23
진법변환  (0) 2019.05.23
기본 자료형(실수, 정수)  (0) 2019.05.23

+ Recent posts