📄 101.cpp
字号:
#include<iostream>
#include<math.h>
using namespace std;
void binary(int number)
{
int remainder;
if(number <= 1) {
cout << number;
return ;
}
remainder = number%2;
binary(number >> 1);
cout << remainder;
}
////////////////////////////////////////////
void octal(int number)
{
int remainder;
if(number <= 8) {
cout << number;
return ;
}
remainder = number%8;
octal(number >> 3);
cout << remainder;
}
///////////////////////////////////////////////
void hex(int number)
{
int i=0;
int hex[10]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
char hex_word[6]={'A','B','C','D','E','F'};
while(number>= 16)
{
hex[i] = number % 16;
number=number/16;
i++;
}
hex[i+1]=number;
for(i=9;i>=0;i--)
{
if(hex[i]!= -1)
{
if(hex[i] >=10 && hex[i] <=15)
cout << hex_word[hex[i]-10];
else
cout << hex[i];
}
}
return ;
}
//////////////////////////////////////////////////////////
double secondbinary()
{
char *bin=NULL;
bin = new char[100];
int i=0,j=0,p=0,c=0,ninus=-1;
int number=0;
cin.getline(bin,100);
while(*(bin+i+p) != '\0')
{
if(*(bin+i+p) == '.')
c=1;
if(c==1 && *(bin+i+p) != '.')
{
number=number+int(*(bin+i+p)-48)*pow(2,ninus);
ninus--;
p++;
}
else
i++;
}
if(c==1)
i--;
if(i==1)
number+=int(*(bin+0)-48)*pow(2,0);
else
for(j=i-1;j>=0;j--)
number+=int(*(bin+j)-48)*pow(2,i-1-j);
return number;
}
//////////////////////////////////////////////////////////
double secondoctal()
{
char *bin=NULL;
bin = new char[100];
int i=0,j=0,p=0,c=0,ninus=-1;
int number=0;
cin.getline(bin,100);
while(*(bin+i+p) != '\0')
{
if(*(bin+i+p) == '.')
c=1;
if(c==1 && *(bin+i+p) != '.')
{
number=number+(int(*(bin+i+p)-48)*pow(8,ninus));
ninus--;
p++;
}
else
i++;
}
if(c==1)
i--;
if(i==1)
number+=(int(*(bin+0)-48)*pow(8,0));
else
for(j=i-1;j>=0;j--)
number=number+(int(*(bin+j)-48)*pow(8,i-1-j));
return number;
}
///////////////////////////////////////////////////////////
double check(char word)
{
const double table[6]={10,11,12,13,14,15};
if(word >='a' && word <= 'f')
return table[word-'a'];
else
if(word >='A' && word <= 'F')
return table[word-'A'];
else
return word-48;
}
double secondhex()
{
char *bin=NULL;
bin = new char[100];
int i=0,j=0,p=0,c=0,ninus=-1;
int number=0;
cin.getline(bin,100);
while(*(bin+i+p) != '\0')
{
if(*(bin+i+p) == '.')
c=1;
if(c==1 && *(bin+i+p) != '.')
{
number+=check(*(bin+i+p))*pow(16,ninus);
ninus--;
p++;
}
else
i++;
}
if(c==1)
i--;
if(i==1)
number+=check(*(bin+j))*pow(16,0);
else
for(j=i-1;j>=0;j--)
{
number+=check(*(bin+j))*pow(16,i-1-j);
}
return number;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -