C 언어 는 고정 밀 가감 법 을 실현 한다
우선,C 언어 중 각 유형의 가장 값 을 살 펴 보 자.
unsigned int 0~4294967295
int -2147483648~2147483647
unsigned long 0~4294967295
long -2147483648~2147483647
long long 의 최대 치:9223372036854775807
long long 의 최소 값:-922337203685475808
unsigned long 의 최대 값:1844674407370955161
__int 64 의 최대 치:9223372036854775807
__int 64 의 최소 값:-922337203685475808
unsigned __int 64 의 최대 치:18446744073709551615
C 언어 가 가지 고 있 는 유형 은 더 높 은 자릿수 의 연산 을 만족 시 키 지 못 하기 때문에 다른 방법 으로 더 많은 비트(높 은 정밀도)의 가감 을 실현 해 야 한다.
다음은 코드 를 사용 하여 높 은 정밀도 의 가감 을 실현 합 니 다.
1.고정 밀 덧셈:
#include<stdio.h>
#include<string.h>
int main(void)
{
int len_max,i; //len_max , 、
char m[999],n[999];
int a[999]={0},b[999]={0},c[999]={0};// 0,
scanf("%s%s",m,n);
if(strlen(m)>strlen(n))
len_max=strlen(m);
else len_max=strlen(n);
for(i=0;i<strlen(m);i++){
a[i]=m[strlen(m)-1-i]-'0';// , ,
}
for(i=0;i<strlen(n);i++){
b[i]=n[strlen(n)-1-i]-'0';
}
int k=0; //
for(i=0;i<=len_max;i++){ // “=”
c[i]=a[i]+b[i]+k;
k=c[i]/10;
c[i]%=10;
}
int flag=0; // flag
for(i=len_max;i>=0;i--){ //
if(c[i])
flag=1;
if(flag)
printf("%d",c[i]);
}
if(!flag) printf("0"); // 0;
return 0;
}
2.고정 밀 감법:
#include<stdio.h>
#include<string.h>
int main(void)
{
int len_max,i;
char m[999],n[999],temp[999];
int a[999]={0},b[999]={0},c[999]={0};
scanf("%s%s",m,n);
if(strlen(m)>strlen(n))
len_max=strlen(m);
else
len_max=strlen(n);
if(strlen(n)>strlen(m)||(strlen(m)==strlen(n)&&strcmp(n,m)>0)){
// , strcmp
strcpy(temp,m);
strcpy(m,n);
strcpy(n,temp);
//
printf("-"); //
}
for(i=0;i<strlen(m);i++){
a[i]=m[strlen(m)-1-i]-'0';
}
for(i=0;i<strlen(n);i++){
b[i]=n[strlen(n)-1-i]-'0';
}
for(i=0;i<=len_max;i++){
c[i]=a[i]-b[i];
if(c[i]<0){
c[i]+=10; //
a[i+1]--;
}
}
int flag=0;
for(i=len_max;i>=0;i--){ //
if(c[i])
flag=1;
if(flag)
printf("%d",c[i]);
}
if(!flag) printf("0"); // !
return 0;
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.