각종 진 변환
10 진 을 다른 진 으로 변환: (10 진 을 다른 진 으로 변환 하면 printf 함수 로 직접 변환 할 수 있 습 니 다. 라 이브 러 리 함수 사용:http://blog.csdn.net/u014665013/article/details/40213033)
(1) 10 진법 이 8 진법 으로 바뀐다.
라 이브 러 리 함수 사용
int main()
{
int n;
scanf("%d",&n);
printf("%O",n);
return 0;
}
자기 코드: (재 귀적 방법)
#include <stdio.h>
#include <algorithm>
#include <iostream>
using namespace std;
string str="";
string fun(int n)
{
if(n==0) // ,
return "0";
if(n>0)
{
int x=n%8;
fun(n/8);
str=str+char(x+'0');
}
return str;
}
int main()
{
int n;
scanf("%d",&n);
cout<< fun(n);
return 0;
}
(2) 10 진법 16 진법
라 이브 러 리 함수 사용
int main()
{
int n;
scanf("%d",&n);
printf("%X",n);
return 0;
}
자기 코드:
채택 한 귀속 방법
#include <stdio.h>
#include <algorithm>
#include <iostream>
using namespace std;
string str="";
char exchenge(int n)
{
if(n<10)
return n+'0';
if(n==10)
return 'A';
if(n==11)
return 'B';
if(n==12)
return 'C';
if(n==13)
return 'D';
if(n==14)
return 'E';
if(n==15)
return 'F';
}
string fun(int n)
{
if(n==0) // ,
return "0";
if(n>0)
{
int x=n%16;
fun(n/16);
str=str+exchenge(x);
}
return str;
}
int main()
{
int n;
scanf("%d",&n);
cout<< fun(n);
return 0;
}
(2) 기타 진법 10 진법
(1) 8 진법 10 진법:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
long long t;
while (scanf("%I64o", &t) != EOF) //note:use %I64
printf("%I64d
", t);
return 0;
}
(2) 16 진법 에서 10 진법 으로 전환 (위 와 동일)
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
long long t;
while (scanf("%I64x", &t) != EOF) //note:use %I64
printf("%I64d
", t);
return 0;
}
자기 코드:
#include <stdio.h>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
char ch_16[10];
long long ch_10=0;
scanf("%s",ch_16);
int chlen=strlen(ch_16);
int i=0;
for(;i<chlen;i++)
{
if(ch_16[i]<='9'&&ch_16[i]>=0)
ch_10=ch_10*16+ch_16[i]-'0';
else
if(ch_16[i]>='A')
ch_10=ch_10*16+ch_16[i]-'A'+10;
}
printf("%lld",ch_10);
return 0;
}
주: 이 코드 가 정확 하지 않 습 니 다. 패스 가 없 는 테스트 데이터 가 있 습 니 다. 왜 요???
(3) 다른 진법 이 다른 진법 으로 바 뀌 었 다.
(1) 16 진법 이 8 진법 으로 바 뀌 었 다 (데이터 가 비교적 작다) (16 진법 - > 10 진법 - > 8 진법)
<span style="font-size:12px;">#include <stdio.h>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
string str="";
string fun(int n)
{
if(n==0) // ,
return "0";
if(n>0)
{
int x=n%8;
fun(n/8);
str=str+char(x+'0');
}
return str;
}
int _16To10(char ch){
if(ch<='9'&&ch>='0')
return int(ch-'0');
if(ch>='A'&&ch<='F')
return 10+ch-'A';
}
int main()
{
int Case;
scanf("%d",&Case);
while(Case--){
char ch[100005];
int n=0;
cin>>ch;
for(int i=0;i<strlen(ch);i++)
n=n*16+_16To10(ch[i]);
cout<<fun(n)<<endl;
str="";
}
return 0;
}
</span>
데이터 가 비교적 클 때 16 진법 - > 2 진법 - > 8 진법 이 필요 하 다.
코드:
#include <stdio.h>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
char str[200005];
int main()
{
int Case;
scanf("%d",&Case);
while(Case--){
string str_16;
string str_2="";
cin>>str_16;
//
int str_16len=str_16.length();
if(str_16len%3==1)
str_2="00"+str_2;
if(str_16len%3==2)
str_2="0"+str_2;
//16 2
for( int i=0;i<str_16len;i++)
{
if(str_16[i]=='0')
str_2+="0000";
else if(str_16[i]=='1')
str_2+="0001";
else if(str_16[i]=='2')
str_2+="0010";
else if(str_16[i]=='3')
str_2+="0011";
else if(str_16[i]=='4')
str_2+="0100";
else if(str_16[i]=='5')
str_2+="0101";
else if(str_16[i]=='6')
str_2+="0110";
else if(str_16[i]=='7')
str_2+="0111";
else if(str_16[i]=='8')
str_2+="1000";
else if(str_16[i]=='9')
str_2+="1001";
else if(str_16[i]=='A')
str_2+="1010";
else if(str_16[i]=='B')
str_2+="1011";
else if(str_16[i]=='C')
str_2+="1100";
else if(str_16[i]=='D')
str_2+="1101";
else if(str_16[i]=='E')
str_2+="1110";
else if(str_16[i]=='F')
str_2+="1111";
}
int bit=str_2.length() ,j;
int i;
for(i=0,j=0;i<=bit-3;i=i+3)
{
str[j]=(str_2[i]-'0')*4+(str_2[i+1]-'0')*2+str_2[i+2] ;
j++;
}
i=0;
if(!(str[i]=='0'))
printf("%c",str[i]);
for(i=1;i<j;++i)
printf("%c",str[i]);
printf("
");
}
return 0;
}
이 문 제 를 풀 때 문 제 를 제출 한 적 이 있다 (+ 연산 자
http://blog.csdn.net/u014665013/article/details/43031619
(2) 8 진법 이 16 진법 으로 전환 (동상)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.