1.c语言十进制转换
二进制——>十进制 #include using namespace std; int main() { void pb(int n); int n; cin>>n; pb(n); return 0; } void pb(int n) { if(n!=0) { pb(n/2); putchar('0'+n%2); } } 十进制——>二进制 #include int main() { int n; int i; char a; scanf("%d",&n); getchar(); while(n--) { i=0; while((a=getchar())!='\n') { i=i*2+(a-48); } printf("%d\n",i); } return 0; }。
2.c语言中十六进制转为十进制怎么写
.2进制八进制和十六进制到10进制: 从2进制八进制和十六进制数的最低位(最右端第n=1位),依次将乘以进制数的n-1次方相加 例如:二进制数11010转十进制 (我用m^n表示m的n次方) 0*2^0 + 1*2^1 + 0*2^2 + 1*2^3 + 1*2^4=26; 八进制数20转十进制 0*8^0+2*8^1=16; 所以算法也是类似,这代码是借鉴别人的。
如下: #include #define N 10 int HtoD(char *s) { int i,d=0; char t; for(i=0; s[i]!='\0'; i++) { d=d*16; t=s[i]; if(t>='0' && t='a' && t='A' && t。
3.C语言10进制转8进制,程序怎么写
include #include #include long dtoe(int a); void dtoh(int a,char h[]); int main(void) { long a; char h[80]; scanf("%d",&a); dtoh(a,h); printf("HEX:%s\n",h); a=dtoe(a); printf("OCT:%d\n",a); system("pause"); return 0; } long dtoe(int a) // 八进制 { if (a。
4.C语言中十进制和二进制怎么转换
10000101 对于这个来说 一般 最高位 为 符号位 0为+, 1为- 所以为 -5;
short类型占2个字节,也就是 16位, 最大值为0111 1111 1111 1111。
进制之间的 转换,比如 10进制92 转换成 2进制,92/2 = 46 余数是 0,46/2 = 23 余数是 0,23/2 = 11 余数是 1, 11/2 = 5, 余数是1, 5/2 = 2,余数是 1, 2/2 = 1, 余数是 0, 所以2进制为 0111100(这里面的余数是从后往前计的)。
5.C语言10进制转换成任意进制
#include<stdio.h>
int main()
{
int a,to,i=0;
char array[64]="";
scanf("%d%d",&a,&to);
while(a!=0)
{
array[i]=a%to;
if(array[i]>=10)
array[i]=array[i]-10+'A';
else
array[i]+=48;
a/=to;
i++;
}
i--;
while(i>=0)
{
printf("%c",array[i]);
i--;
}
printf("\n");
return 0;
}
注意,大于等于10的数用大写字母 A、B……Z 表示,可以转化为25进制的数,其实用数组的话没什么难度,注意逆序输出就行了。
6.c语言把二进制数转换成十进制数的程序怎么写
按照如下步骤即可用C语言把二进制数转换成十进制数的程序:
1、首先在主函数中设置成函数Sum,另外定义了一个数组array[8],用于存放输入的八位二进制数。
2、然后使用了一个for循环语句,用于输入八位二进制数。在scanf函数里,在%d之间加一个1,然后使用printf函数输出,并且调用Sum函数,数组名作为实参。
3、在Sum函数中,声明了一个power函数,在这里n为指数,term为每一位数转换为十进制后的的数,如1*(2*2),sum为总和。
4、然后使用一个for循环语句,i用于控制循环的次数,n从最高的指数7开始每次循环减一,如果指数大于或等于零的,就进行循环,调用power函数时,将n作为实参,最后将和返回。
5、在power函数中,如果b等于零,即指数为零,则返回1,否则就进入一个循环,j用于控制循环次数。
6、最后看一下运行结果,这个C语言程序既可以把二进制数成功转换成十进制数了。
7.C语言中 怎样区分八进制 十进制 二进制
在C语言里,整数有三种表示形式:十进制,八进制,十六进制。
其中以数字0开头,由0~7组成的数是八进制。以0X或0x开头,由0~9,A~F或a~f 组成是十六进制。除表示正负的符号外,以1~9开头,由0~9组成是十进制。
1.十进制:除表示正负的符号外,以1~9开头,由0~9组成。如,128,+234,-278。
2,八进制:以0开头,由0~7组成的数。如,0126,050000.
3,十六进制:以0X或0x开头,由0~9,A~F或a~f 组成。如,0x12A,0x5a000.
8.用C语言编写二进制转换十进制的程序
1、为了完成进制的转换,在主函数中声明了个函数Sum,主要用于将二进制的每一位转换为十进制后的数相加,返回值就是相加后的和。另外定义了一个数组array[8],用于存放输入的八位二进制数。
2、然后使用了一个for循环语句,用于输入八位二进制数。在scanf函数里,在%d之间加了一个1,即%1d,这样是好连续的输入八个数,如果没有中间的1,则编译器会认为你只输入了一个数,即那个八位数。然后使用printf函数输出,并且调用Sum函数,数组名作为实参。
3、在Sum函数中,又声明了一个power函数,power函数的作用是求2的n次方,其实这里可以调用库函数pow,但是老师要求不调用库函数,因此就自己写了一个求2的n次方的函数,在这里n为指数,term为每一位数转换为十进制后的的数,如1*(2*2),sum为总和。
4、接着,使用了一个for循环语句,i用于控制循环的次数,n从最高的指数7开始每次循环减一,如果指数大于或等于零的,就进行循环,因为二进制的最后一位转换为十进制数时指数就是零,此后循环就结束。调用power函数时,将n作为实参,最后将和返回,即将sum作为返回值返回给Sum函数。
5、在power函数中,如果b等于零,即指数为零,则返回1,否则就进入一个循环,j用于控制循环次数,有疑问的可以用笔算算乘2的个数对不对,最后将i返回。
6、最后看一下运行的结果。
9.100 位十进制数怎么表示 c语言里
现在大部分的计算机是32位的,因此我拿32位举例给你说明。
假设我们设定你给出的100位十进制数是int那么在32位机器里面这个int型的变量就占4个字节,那么它的最大值是 2^(32-1) -1,我们通过计算它最多时10位,离100位差很多,那么我们就只能使用C语言中范围最大的double做测试,显然也是不能够满足要求的,因此我们就必须舍弃传统的表示方法。我们选用数组表示法。
这里我没有做测试,但是通过计算的话,我建议使用字符串的表示方法char string[101]=" pow10(100)"。