导航:首页 > 编程语言 > 转化为十进制数的程序

转化为十进制数的程序

发布时间:2021-10-24 11:14:49

⑴ 用C语言编写二进制转换十进制的程序

1、为了完成进制的转换,在主函数中声明了个函数Sum,主要用于将二内进制的每一位转换为容十进制后的数相加,返回值就是相加后的和。另外定义了一个数组array[8],用于存放输入的八位二进制数。

⑵ 如何用c语言编写将十进制的数转换成二进制数的程序

简单办法是用联合体,直接打印出来。
typedef union DANDB {
unsigned long int i; // 存放十进制数
unsigned char c[4]; // 按字元(bit) 直接打印它出来
} DandB;

int main()
{
int i,j;
DandB v; // v 是这种联合体变量
printf("Please enter a integer data\n");
scanf("%d",&v.i); // 输入正整数
// v.i = 15;
for (i=3;i>=0;i--){
for (j=7;j>=0;j--)
printf("%1d", (v.c[i] >> j) & 1); // 按字元把32位二进制打印出来
}
===
手工计算,要不断除2取余,获得所有位,再打印出来。

⑶ 用c语言编写一个将十六进制数转换为十进制数的程序

直接用printf就可以实现啊02x。0表示右对齐不够的左边补0;2代表以两位数显示版;x代表以16进制权显示
#include
int
main(int
argc,
char*
argv[])
{
int
i=17;
printf("%02x\n",i);
system("pause");
return
0;
}

⑷ 如何使用C语言编写二进制转换为十进制的程序

#include<stdio.h>
#include<math.h>
#include<string.h>

/*任意进制数转十进制数*/
/*char*value:其他进制数,以字符串形式存储*/
/*int*result:转换后的十进制数*/
/*intradix:待转换的进制*/
/*R进制数共n位,第n位表示为Xn。转换后的10进制数表示为Y*/
/*Y=Xn*R^0+Xn-1*R^1+Xn-2*R^2+……+X1*R^n-1*/
voidothers2Decimal(char*value,int*result,intradix){
intdigit,i,j;

*result=0;
for(i=strlen(value)-1,j=0;i>=0;i--,j++){
if(value[i]>='0'&&value[i]<='9')
digit=value[i]-'0';
if(value[i]>='a'&&value[i]<='z')/*十以上进制处理,小写字母*/
digit=value[i]-'a'+10;
if(value[i]>='A'&&value[i]<='Z')/*十以上进制处理,大写字母*/
digit=value[i]-'A'+10;
*result+=digit*pow(radix,j);
}
}

/*校验输入的某进制数是否合法*/
/*合法:返回1;不合法:返回0*/
intcheck(char*value,intradix){
inti;

for(i=0;i<strlen(value);i++){
if(radix<=10&&value[i]>='0'&&value[i]<='9'&&value[i]>=radix+'0')
return0;
if(radix>10&&value[i]>='a'&&value[i]<='z'&&value[i]>=radix-10+'a')
return0;
if(radix>10&&value[i]>='A'&&value[i]<='Z'&&value[i]>=radix-10+'A')
return0;
}
return1;
}

intmain(void){
char*value;
intradix=2,result;

printf("请输入%d进制数:",radix);
fflush(stdin);/*清除缓冲区*/
gets(value);

if(check(value,radix)!=1){
putchar(' ');
printf("输入的%d进制数有误! ",radix);
putchar(' ');
return0;
}

putchar(' ');
puts("================================================================ ");

printf("10进制转换结果:");
others2Decimal(value,&result,radix);
printf("%d ",result);
putchar(' ');

getch();/*屏幕暂留*/
return0;
}

运行结果

⑸ 编写将任意二进制数转换为十进制数的java程序

java有现成的
二进制转十进制
Integer.valueOf("0101",2).toString()

另外还有
十进制转成十六进制:
Integer.toHexString(int i)
十进制转成八进制
Integer.toOctalString(int i)
十进制转成二进制
Integer.toBinaryString(int i)
十六进制转成十进制
Integer.valueOf("FFFF",16).toString()
八进制转成十进制
Integer.valueOf("876",8).toString()

⑹ 如何将c51的8位二进制数转为十进制数(要完整程序)

数码管输入,要的是8位2进制数据,不是16进制。

我在做毕业设计,有写二进制到十进制的转换程序
算法是相似的,如果一个数比如127,要转换到二进制。我先除以最高位的权值----2的8次方(64),然后取整得到1,将其存储到一个单元后,左移一位。然后原先的余数除以次高位的权值----2的7次方(32),然后取整得1,左移一位存储的数据。依次类推,可将其转化为二进制。
这是我2进制转10进制的
void BtoD()
{
uchar a1=a0;
float An1=0,An2;
uint i=0,j=4;
for(;i<8;i++) //将2进制的数据转换到一个一维数组中
{
a1=a1&table2[i];
a1=_cror_(a1,i);
c[i]=a1;
a1=a0;
}

An1=c[7]*128+c[6]*64+c[5]*32+c[4]*16+c[3]*8+c[2]*4+c[1]*2+c[0]*1;
An1=(An1/256)*5; //类型转换

for(j;j>0;j--)
{
An2=An1;
table1[j-1]=(int)An2; //转换成四位模拟数字,存储在Table1中
An1-=(int)An2;
An1*=10;
}
}

⑺ C语言或FORTRAN 二进制数转化为十进制数 程序

你没说明数据长度啊...二进制数是从键盘输入吗?
按我的理解写了个.
#include "stdio.h"
#include "string.h"

int main(){
printf("输入一个二进制数 : ");
char buf[33];
scanf("%s",buf);
int l=strlen(buf);
unsigned int add=1;
unsigned int num=0;
int i;
for(i=l-1;i>=0;--i){
if(buf[i]=='1'){
num+=add;
}
add<<=1;
}
printf("对应的十进制数 : %d\n",num);
return 0;
}

⑻ c语言把二进制数转换成十进制数的程序怎么写。

需要准备来的材料分别有:源电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

⑼ 帮忙检查一个c语言程序:将一个十六进制整数转化成十进制整数的程序。

程序有以下两个问题:
1、func函数中所有的i-x-1都应该改成x-i-1。楼主的意思就是乘以16的对应的位数次方呗,你仔细看看就知道应该是x-i-1
2、我们假设十位上是的数字是1,那么这个数代表了16,这时候用一个字符是无法表示的
也就是说,不能简单的用s[i]去存放原16进制的某位转换成10进制对应的数
一个简单的修改方法是,让func函数返回一个int型的数值,这个返回值就是对应的十进制数
具体代码见下
#include<stdio.h>
#include<string.h>
#include<math.h>
int
func(char
s[],int
x);
void
main()
{
char
a[20];
int
n;
int
num;
printf("请输入一串十六进制数:");
scanf("%s",a);
n=strlen(a);
num=func(a,n);
printf("%s=%d",a,num);
}
int
func(char
s[],int
x)
{
int
i;
int
num=0;
for(i=x-1;i>=0;i--)
{
if(s[i]>='0'&&s[i]<='9')
{
num+=(int)((s[i]-'0')*pow(16,x-i-1));
}
if(s[i]>='a'&&s[i]<='f'){
num+=(int)((s[i]-'a'+10)*pow(16,x-i-1));
}
if(s[i]>='A'&&s[i]<='F'){
num+=(int)((s[i]-'A'+10)*pow(16,x-i-1));
}
}
return
num;
}

⑽ Java如何将十六进制数转换为十进制数的自编程序

package com.swift;//所属包
import java.util.Scanner;//导入扫描器
public class Hex2Decimal {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("please enter a Hex:");
String hex = scan.nextLine();//读取一行
hex = hex.toUpperCase();//转换成大写字母
System.out.println("The hex is:" + hex);//输出一下
int decimal = 0;
for (int i = 0; i < hex.length(); i++) {
if (hexChar2Decimal(hex.charAt(hex.length() - 1 - i)) != -1) {//从16进制数的最后一个字符开始获取
decimal = (int) (decimal + hexChar2Decimal(hex.charAt(hex.length() - 1 - i)) * Math.pow(16, i));//乘以16的0次幂,然后++
} else {
System.out.println("enter error, decimal will be zero!");//如果等于-1则是非法字符
break;
}
}
System.out.println("decimal=" + decimal);
}
private static int hexChar2Decimal(char charAt) {
if (charAt >= 'A' && charAt <= 'F')
return charAt - 'A' + 10;//A~F转换成10进制数
else if (charAt >= '0' && charAt <= '9')
return charAt-'0';//0~9字符转换成10进制
else
return -1;
}
}

阅读全文

与转化为十进制数的程序相关的资料

热点内容
谁有手机小电影网址 浏览:514
在线高清影视网站入口 浏览:332
日本电影女明星和女助理戴面具的 浏览:614
泰国船长罪孽在线sb影视 浏览:416
影视解析网站 浏览:750
余男《狂怒之拳》 浏览:372
韩国爱情电影中文版推荐 浏览:327
尺度大的欧美同性恋电影 浏览:751
童鞋真好妖精世界 浏览:990
秀秀鬼电影 浏览:238
台湾同人电影有哪些 浏览:780
有多条线路可以投屏的影视网站 浏览:58
关于狮子的电影 浏览:167
罗莎卡拉乔洛最后一战 浏览:81
比爱奇艺更新快的网站 浏览:405
大尺度微电影《证明你存在的价值 浏览:118
你们镇上有电影院吗用英语怎么说 浏览:405
美女舞台上表演被真矛刺伤电影 浏览:131
飞夺泸定桥完整版播放 浏览:889
人形人偶电影 浏览:987

友情链接