SlideShare a Scribd company logo
project #6


2-비트 덧셈기 설계


             이산치수학 C1조



             20083458 민영지
             20093474 박구남
             20093526 정준용
             20093530 최고봉
순서




      •조원별 업무분담


         •일정 계획


          •문제파악


       •알고리즘 계획


          •소스구현


•문제점 파악 / 해결법 토의


          •최종소스
1)조원별 업무 분담
              최종 보고서 작성 및 프로젝트 총괄
최고봉
              및 소스 구현


박구남           알고리즘 구상 및 소스 구현



정준용           자료조사 및 소스 구현



민영지           알고리즘 구상 및 자료조사




2)일정계획
              과제에 대한 자료 조사 및 업무분담
05.30~06.04
              일정 계획 및 알고리즘 구성

              프로젝트 알고리즘 확인 및 소스 구
06.04~06.06
              현 및 보고서 작성
3)문제파악

2진수 두 개를 입력받아 더해 출력하는 것
4)알고리즘 계획


  2진수 두 개를 입력받고 half-adder와 two-bit-adder를
이용하여 두 수의 합을 출력하는 것입니다.



5)소스 구현


#include <stdio.h>
#include <stdlib.h>


int* HalfAdder(int x, int y);
int* Two_Bit_Adder(int a, int b, int c, int d);


void main() {
     int ab, cd;
     int a, b, c, d;
     int *efg;
     int i;


     printf("덧셈 할 2진수 숫자 2개를 입력하세요.n");
     scanf("%d %d",&ab,&cd);


     a = ab/10;b = ab%10;
     c = cd/10;d = cd%10;
efg = Two_Bit_Adder(a,b,c,d);


     printf("%d%d%dn",efg[0],efg[1],efg[2]);


     printf("계속하시려면 아무키나 누르세요....");
     getch();
}


int* HalfAdder(int x, int y) {
     int *uv;


     uv = (int *)malloc(2*sizeof(int));


     uv[1] = ((~x)&y)|(x&(~y));
     uv[0] = x&y;


     return uv;
}


int* Two_Bit_Adder(int a, int b, int c, int d) {
     int *efg;
     int *uv1, *uv2, *uv3;


     efg = (int *)malloc(3*sizeof(int));


     uv1 = HalfAdder(a,c);
uv2 = HalfAdder(b,d);
    uv3 = HalfAdder(uv1[1],uv2[0]);


    efg[0] = uv1[0]|uv3[0];
    efg[1] = uv3[1];
    efg[2] = uv2[1];
    return efg;
}




코딩결과

More Related Content

What's hot

C언어 세미나 - 함수
C언어 세미나 - 함수C언어 세미나 - 함수
C언어 세미나 - 함수
SeungHyun Lee
 
RNC C++ lecture_5 Array
RNC C++ lecture_5 ArrayRNC C++ lecture_5 Array
RNC C++ lecture_5 Array
itlockit
 
이산수학 C1 프로젝트 3
이산수학 C1 프로젝트 3이산수학 C1 프로젝트 3
이산수학 C1 프로젝트 3pkok15
 
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
Lee Sang-Ho
 
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
Lee Sang-Ho
 

What's hot (7)

C언어 세미나 - 함수
C언어 세미나 - 함수C언어 세미나 - 함수
C언어 세미나 - 함수
 
RNC C++ lecture_5 Array
RNC C++ lecture_5 ArrayRNC C++ lecture_5 Array
RNC C++ lecture_5 Array
 
이산수학 C1 프로젝트 3
이산수학 C1 프로젝트 3이산수학 C1 프로젝트 3
이산수학 C1 프로젝트 3
 
이산수학03
이산수학03이산수학03
이산수학03
 
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
 
이산치5번
이산치5번이산치5번
이산치5번
 
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
 

Viewers also liked

Wood
WoodWood
Análisis de radios de Janeth Crespo
Análisis de radios  de Janeth CrespoAnálisis de radios  de Janeth Crespo
Análisis de radios
Análisis de radiosAnálisis de radios
Heart disease
Heart diseaseHeart disease
Heart disease
Samara8910
 
A flowering tree
A flowering treeA flowering tree
A flowering tree
Vidhanti Goel
 

Viewers also liked (15)

Wood
WoodWood
Wood
 
이산수학05
이산수학05이산수학05
이산수학05
 
자료구조03
자료구조03자료구조03
자료구조03
 
자료구조06
자료구조06자료구조06
자료구조06
 
Análisis de radios de Janeth Crespo
Análisis de radios  de Janeth CrespoAnálisis de radios  de Janeth Crespo
Análisis de radios de Janeth Crespo
 
Radios
RadiosRadios
Radios
 
이산수학07
이산수학07이산수학07
이산수학07
 
자료구조01
자료구조01자료구조01
자료구조01
 
이산수학02
이산수학02이산수학02
이산수학02
 
이산수학04
이산수학04이산수학04
이산수학04
 
Análisis de radios
Análisis de radiosAnálisis de radios
Análisis de radios
 
Heart disease
Heart diseaseHeart disease
Heart disease
 
자료구조01
자료구조01자료구조01
자료구조01
 
A flowering tree
A flowering treeA flowering tree
A flowering tree
 
자료구조02
자료구조02자료구조02
자료구조02
 

Similar to 이산수학06

자료구조02
자료구조02자료구조02
자료구조02
herojoon1378
 
2012 Dm C3 06
2012 Dm C3 062012 Dm C3 06
2012 Dm C3 06chl132435
 
엔지니어의 꿈 Fmt 최종본
엔지니어의 꿈   Fmt 최종본엔지니어의 꿈   Fmt 최종본
엔지니어의 꿈 Fmt 최종본영범 정
 
IPython
IPythonIPython
IPython
Kyunghoon Kim
 
이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7pkok15
 
3콤비네이션
3콤비네이션3콤비네이션
3콤비네이션
herojoon1378
 
금융 데이터 이해와 분석 PyCon 2014
금융 데이터 이해와 분석 PyCon 2014금융 데이터 이해와 분석 PyCon 2014
금융 데이터 이해와 분석 PyCon 2014
Seung-June Lee
 
[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기
Sang Heon Lee
 
이산치6보고서
이산치6보고서이산치6보고서
이산치6보고서KimChangHoen
 
2012 Ds B2 02
2012 Ds B2 022012 Ds B2 02
2012 Ds B2 02chl132435
 
2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdf2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdfkd19h
 
불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14
명신 김
 
2012 Ds A1 05
2012 Ds A1 052012 Ds A1 05
2012 Ds A1 05seonhyung
 
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Ki-Hwan Kim
 
Project#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort HwpProject#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort HwpKimjeongmoo
 
객체지향 정리. Part1
객체지향 정리. Part1객체지향 정리. Part1
객체지향 정리. Part1
kim HYUNG JIN
 
자료구조 Project2
자료구조 Project2자료구조 Project2
자료구조 Project2KoChungWook
 
Au korea2017 수량산출시스템 토문건축사_윤종덕
Au korea2017 수량산출시스템 토문건축사_윤종덕Au korea2017 수량산출시스템 토문건축사_윤종덕
Au korea2017 수량산출시스템 토문건축사_윤종덕
JongDeok Yoon
 
이산치수학 Project6
이산치수학 Project6이산치수학 Project6
이산치수학 Project6KoChungWook
 

Similar to 이산수학06 (20)

자료구조02
자료구조02자료구조02
자료구조02
 
2012 Dm C3 06
2012 Dm C3 062012 Dm C3 06
2012 Dm C3 06
 
엔지니어의 꿈 Fmt 최종본
엔지니어의 꿈   Fmt 최종본엔지니어의 꿈   Fmt 최종본
엔지니어의 꿈 Fmt 최종본
 
IPython
IPythonIPython
IPython
 
이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7
 
3콤비네이션
3콤비네이션3콤비네이션
3콤비네이션
 
금융 데이터 이해와 분석 PyCon 2014
금융 데이터 이해와 분석 PyCon 2014금융 데이터 이해와 분석 PyCon 2014
금융 데이터 이해와 분석 PyCon 2014
 
[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기
 
이산치6보고서
이산치6보고서이산치6보고서
이산치6보고서
 
2012 Ds B2 02
2012 Ds B2 022012 Ds B2 02
2012 Ds B2 02
 
2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdf2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdf
 
불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14
 
자구2번
자구2번자구2번
자구2번
 
2012 Ds A1 05
2012 Ds A1 052012 Ds A1 05
2012 Ds A1 05
 
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
 
Project#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort HwpProject#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort Hwp
 
객체지향 정리. Part1
객체지향 정리. Part1객체지향 정리. Part1
객체지향 정리. Part1
 
자료구조 Project2
자료구조 Project2자료구조 Project2
자료구조 Project2
 
Au korea2017 수량산출시스템 토문건축사_윤종덕
Au korea2017 수량산출시스템 토문건축사_윤종덕Au korea2017 수량산출시스템 토문건축사_윤종덕
Au korea2017 수량산출시스템 토문건축사_윤종덕
 
이산치수학 Project6
이산치수학 Project6이산치수학 Project6
이산치수학 Project6
 

이산수학06

  • 1. project #6 2-비트 덧셈기 설계 이산치수학 C1조 20083458 민영지 20093474 박구남 20093526 정준용 20093530 최고봉
  • 2. 순서 •조원별 업무분담 •일정 계획 •문제파악 •알고리즘 계획 •소스구현 •문제점 파악 / 해결법 토의 •최종소스
  • 3. 1)조원별 업무 분담 최종 보고서 작성 및 프로젝트 총괄 최고봉 및 소스 구현 박구남 알고리즘 구상 및 소스 구현 정준용 자료조사 및 소스 구현 민영지 알고리즘 구상 및 자료조사 2)일정계획 과제에 대한 자료 조사 및 업무분담 05.30~06.04 일정 계획 및 알고리즘 구성 프로젝트 알고리즘 확인 및 소스 구 06.04~06.06 현 및 보고서 작성
  • 4. 3)문제파악 2진수 두 개를 입력받아 더해 출력하는 것
  • 5. 4)알고리즘 계획 2진수 두 개를 입력받고 half-adder와 two-bit-adder를 이용하여 두 수의 합을 출력하는 것입니다. 5)소스 구현 #include <stdio.h> #include <stdlib.h> int* HalfAdder(int x, int y); int* Two_Bit_Adder(int a, int b, int c, int d); void main() { int ab, cd; int a, b, c, d; int *efg; int i; printf("덧셈 할 2진수 숫자 2개를 입력하세요.n"); scanf("%d %d",&ab,&cd); a = ab/10;b = ab%10; c = cd/10;d = cd%10;
  • 6. efg = Two_Bit_Adder(a,b,c,d); printf("%d%d%dn",efg[0],efg[1],efg[2]); printf("계속하시려면 아무키나 누르세요...."); getch(); } int* HalfAdder(int x, int y) { int *uv; uv = (int *)malloc(2*sizeof(int)); uv[1] = ((~x)&y)|(x&(~y)); uv[0] = x&y; return uv; } int* Two_Bit_Adder(int a, int b, int c, int d) { int *efg; int *uv1, *uv2, *uv3; efg = (int *)malloc(3*sizeof(int)); uv1 = HalfAdder(a,c);
  • 7. uv2 = HalfAdder(b,d); uv3 = HalfAdder(uv1[1],uv2[0]); efg[0] = uv1[0]|uv3[0]; efg[1] = uv3[1]; efg[2] = uv2[1]; return efg; } 코딩결과