当前位置:首页 » 编程语言 » c语言输出十进制

c语言输出十进制

发布时间: 2022-06-04 07:16:29

c语言 怎样将二进制数转换成十进制,又怎样将十进制数转换成二进制数输出

将二进制数转换成十进制,一般是从字符串转换成一个整数,按位值乘以权值相累加得到结果。
如:1010=1*2^3+0*2^2+1*2+0
=((((1*2)+0)*2)+1)*2+0
将十进制数转换成二进制数,采用的原理就是辗转除2,逆向输出余数。(windows系统下的itoa函数也是一个不错的选择,但DIY更有意义)
实现方法:
#include <stdio.h>
void swap( char *a, char *b )
{
char t=*a;
*a=*b;
*b=t;
}
char *reverse(char *s,int len)
{
char *b=s, *e=s+len-1;
while( b<e )
{
swap(b++,e--);
}
return s;
}
char *dec2bin(n)
{
static char str[33];
int i=0;
do {
str[i++]=n%2+'0';
n/=2;
}while( n );
str[i]=0;
return reverse(str,i);
}
int bin2dec(char *s)
{
int i,n=0;
for( i=0;s[i];i++ )
n=n*2+s[i]-'0';
return n;
}
void main()
{
int n=100;
char *p;
p=dec2bin(n);
printf("%d(D)=%s(B)\n", n, p );
n=bin2dec(p);
printf("%s(B)=%d(D)\n", p, n );
}运行结果:
100(D)=1100100(B)
1100100(B)=100(D)

Ⅱ C语言用1个10进制数表示字符串,并输出该值怎么做

要把一个十进制形式的整数数字字符串,转换为一个十进制整数,可以用以下的办法:
char s[]="12345678";
int i,n=0;
for(i=0;s[i];i++)
n=n*10+s[i]-'0';
printf("%d",n);
运行这段代码后可以输出:
12345678

Ⅲ C语言输入十六进制,输出十进制

直接将16进制以16为底,然后根据金智个税依次计算,然后将结果求和之后即可得到十进制了

Ⅳ 输入一个8进制数,输出一个10进制的数.怎么用C语言写

好啊!我给你说说!
你可以这样写:
#include"stdio.h"
main()
{int
i;
scanf("%o",&i);
printf("%d",i);}
这样就可以了,其实你说的不过是数据输出中的
转换字符
的应用就是了。
其中:
d
将参数以
十进制

形式
输出
o
将参数以无
正负号
八进制
的形式输出
x
将参数以无正负号的
十六进制
的形式输出
u
将参数以无正负号的十进制的形式输出
怎么样?明白了吧?

Ⅳ C语言中 输出十进制 八进制 十六进制 有哪些表示方法

%d

%o

%x

Ⅵ C语言:写一函数,输入一个十六进制数,输出相应的十进制数。

有几个问题
一个是函数声明不对
函数调用有问题
判断数值临界不准,没有包含==的情况
算法可以写的简单一点
最终优化如下
#include<stdio.h>
#include<string.h>
void main()
{
char array[100];
void fun(char*);
gets(array);
fun(array);
}

void fun(char array[100])
{
int sum=0,i;
for(i=0;i<strlen(array);i++)
{
sum*=16;
if('0'<=array[i]&&array[i]<='9')
sum+=array[i]-'0';
if('a'<=array[i]&&array[i]<='z')
sum+=array[i]-'a'+10;
if('A'<=array[i]&&array[i]<='Z')
sum+=array[i]-'A'+10;
}
printf("%d",sum);
}

Ⅶ 有C语言编写一函数,输入一十六进制数,输出相应的十进制数

/*按要求,输入输出都在子函数中进行*/
#include
void
fun(void)
{
int
a=0,i;
char
str[6];
printf("输入十六进制数:\n");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]>='0'&&str[i]<='9')
a=a*16+str[i]-48;
else
if(str[i]>='a'&&str[i]<='z')
a=a*16+str[i]-'a'+10;
else
a=a*16+str[i]-'A'+10;
printf("对应的十进制数为:%d\n",a);
}
int
main(void)
{
fun();
getchar();
}

Ⅷ c语言输出格式%*s

c语言输出格式%*s,标识形参占位。

*在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。例如:printf("%*s",10,s);意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s",s)。


(8)c语言输出十进制扩展阅读:

C语言输出格式大全:

格式占位符(%)可以以下字母配合使用用来表示某些特定的输入输出。

%a,%A 读入一个浮点值(仅C99有效)

%c 读入一个字符

%d 读入十进制整数

%i 读入十进制,八进制,十六进制整数

%o 读入八进制整数

%x,%X 读入十六进制整数

%s 读入一个字符串,遇空格、制表符或换行符结束。

%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。

%p 读入一个指针

%u 读入一个无符号十进制整数

%n 至此已读入值的等价字符数

%[] 扫描字符集合

%% 读%符号

Ⅸ c语言,输入一个二进制数,输出它的十进制数,最简单的

#include <stdio.h>

int main()

{

int len,i=0,number=0;

char c[100];

do

{

scanf("%c",&c[i]);

i++;

}while(c[i-1]!='\n');

len=i-1;

for(i=0;i<len;i++)

{

number=(number<<1)|(c[i]-'0');

}

printf("%d\n",number);

return 0;

}

Ⅹ C语言 写一个函数 输入一个十六进制数 输出相应的十进制

#包括< stdio, h >

h#包括< math.h >

# include < string。H >

Intmain()

Char[10]。

Void转换(char[]a);

Printf(“输入十六进制数:”);

(一);输入一个十六进制数

转换(a);

返回0;

Void转换(char[]a)

Intn,I,num=0;

N=strlen(a);

对于(I = n - 1;I > = 0;我)

如果(a < I > > = '0' & a < I > < = '9')

Num + = (a < I > - '0') * pow (16, n - 1 - I);

否则(a < I > > = 'a' && a < I > < = 'Z')

Num + =(10 +(<我> - a)) *战俘(16 n - 1 - I);

否则(a < I > > = 'a' && a < I > < = 'z')

Num + =(10 +(<我> - a)) *战俘(16 n - 1 - I);

Printf(“将小数转换为:”);

Printf("%d",num);

(10)c语言输出十进制扩展阅读:

函数的作用是:从标准输入设备(键盘)中读取一个字符串,直到回车结束。但是回车不属于这个字符串。调用格式为(s);其中s是字符串变量(字符串数组名或字符串指针)。

gets(s)函数与scanf(“%s”,s)类似,但不完全相同。对字符串输入使用scanf("%s",s)函数的问题是,如果输入了空格,则认为输入字符串是完整的。

热点内容
树莓派源码 发布:2025-02-09 05:07:00 浏览:650
安卓手机为什么搜不到懂球帝 发布:2025-02-09 05:04:42 浏览:817
生命密码解读走什么 发布:2025-02-09 04:55:51 浏览:279
python常用正则表达式 发布:2025-02-09 04:42:53 浏览:178
机器人编程培训哪家好 发布:2025-02-09 04:37:44 浏览:308
上海怎么学习java 发布:2025-02-09 04:26:39 浏览:23
erp系统搭建备用服务器 发布:2025-02-09 04:07:38 浏览:946
戴尔服务器在bios怎么配置管理ip 发布:2025-02-09 04:01:53 浏览:551
小鱼易连云存储 发布:2025-02-09 03:59:47 浏览:92
正在限制访问 发布:2025-02-09 03:47:17 浏览:904