-
2021-05-25 06:17:15
满意答案
wvpu9558
2013.06.07
采纳率:55% 等级:12
已帮助:10003人
#include
void main()
{
char c[16];
int a[16][4]={0};
int i=0,j;
scanf("%s",c);---->>以字符串形式输入
while(c[i])--------->>>把字符串的每一位还原为数字
{
if(c[i]>'0'&&c[i]
c[i]=c[i++]-48;
else if(c[i]>='A'&&c[i]<='Z')
c[i]=c[i++]-55;
else if(c[i]>='a'&&c[i]<='z')
c[i]=c[i++]-87;
else
{
puts("error\n");
return;
}
}
i=0;
while(c[i])---》》》每一位分解为四位,注意输出顺序就可以了
{
for(j=3;j>=0;j--)
{
a[i][j]=c[i]%2;
c[i]/=2;
}
for(j=0;j<4;j++)
printf("%d",a[i][j]);
i++;
}
}
其实很简单
16进制数的一位转换为二进制数的四位就可以了
有问题
留言
必回
这个算法是比较好的算法了
00分享举报
更多相关内容 -
C语言二进制字符串与十六进制字符串相互转化
2017-01-13 17:20:06C语言二进制字符串与十六进制字符串相互转化,利用MFC框架生成小工具。 -
c语言二进制数按位输出示例
2020-09-04 13:33:01主要介绍了c语言二进制数按位输出示例,需要的朋友可以参考下 -
C语言十进制转二进制代码实例
2021-01-20 06:07:29用C语言实现将十进制转化为二进制,并统计转换后的二进制码中1的个数。 #include int binaryNum[16]; //存放转换后得到的二进制码 int count=0; //计数十进制整数被2除的次数 int oneCount=0; //得到的二进制码中1... -
C语言 二进制
2021-11-17 18:57:30十进制为例 1234.5=1*10^3 + 2*10^2 + 3*10^1 + 4*10^0 + 5*10^-1 (按权展开求和)。 ○1 其它进制转十进制都是按权...○4 二进制转八进制:二进制从右往左三个三个分组,然后按权展开求和,如下图 0136457 ○5 二..十进制为例 1234.5=1*10^3 + 2*10^2 + 3*10^1 + 4*10^0 + 5*10^-1 (按权展开求和)。
○1 其它进制转十进制都是按权展开求和,比如十六进制 0x123=1*16^2 + 2*16^1 + 3*16^0
○2 十进制转其它进制:整数部分:基数除法,倒序取余。小数部分:基数乘法,顺序取整
○3 十进制转二进制:除了上面的方法,还可以凑。如下图
○4 二进制转八进制:二进制从右往左三个三个分组,然后按权展开求和,如下图 0136457
○5 二进制转十六进制:二进制从右往左四个四个分组,然后按权展开求和,如下图 0xBD2F
○6 十进制转八,十六进制:先转二进制再转八或者十六进制。
2、原码、反码、补码:
○1 无符号整型数:所有的数位均表示数值;
N 位无符号整型数据表示的取值范围为:0~2^N-1 (2^N 表示 2 的 N 次方)
○2 有符号整型数:最高位 0 为正数,1 为负数
正数:原码,反码,补码三者相同;
负数:其绝对值的二进制,取反,再加一,如下图
○3 根据二进制计算数值,假设数字为 1 字节:
无符号数全部为数值位,按权展开求和。1010 1000->1*2^7 + 1*2^5 + 1*2^3=168
有符号数,先看符号位确定符号,0 为正数,1 为负数。
如果为正数则按权展开求和。0101 1000->1*2^6 + 1*2^4 + 1*2^3=88
如果为负数则先确定符号,然后取反加一计算它的绝对值。1110 0101
3、整形数据类型:
char:-128~127 共 256 种不同的数字。
unsigned char:0~255。
int:不加说明为 4 字节。
注意数据的取值范围。
4、浮点类型:
float:从左往右第一位为符号位,接来下 8 位为指数位,最后 23 位为尾数位
符号位 p:0 为正,1 为负
指数 e:读取的指数=实际指数-127
尾数 m:不包含小数点左边的 1
比如 12.5f->1100.1->1.1001*2^3,则存储数据如下:
-
c语言 二进制 十进制 快速转换
2012-07-05 10:46:50二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,如:8位二进制数:...c语言中十六进制数前加“0x”表示,例如:十六进制:0x35 转换为二进制数为:00110101 -
C语言二进制转换成八进制或十六进制
2013-09-06 14:04:58C语言实现二进制向八进制和十六进制转换 二进制转换成十进制 再将十进制转换成R进制 -
C语言二进制思想以及数据的存储
2020-12-31 14:48:06十一、二十九、一百等,就需要多个数字组合起来。 例如表示 5+8 的结果,一个数字不够,只能”进位“,用 13 来表示;这时”进一位“相当于十,”进两位“相当于二十。 因为逢十进一,也因为只有 0~9 共十个数字,... -
C语言实现二进制文件读写详解
2020-07-30 21:19:13文章先介绍函数,我们一共要用到三个函数,fopen,fread,fwrite。二进制读写的顺序是用fopen以二进制方式打开读写文件,然后使用fread和fwrite两个函数将数据写入二进制文件中。 -
c语言二进制怎么转换十进制
2021-05-23 06:40:24c语言二进制怎么转换十进制?按照如下步骤即可用C语言把二进制数转换成十进制数的程序:推荐:《C语言教程》1、首先在主函数中设置成函数Sum,另外定义了一个数组array[8],用于存放输入的八位二进制数。2、然后使用...c语言二进制怎么转换十进制?
按照如下步骤即可用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语言程序既可以把二进制数成功转换成十进制数了。
更多编程相关内容,请关注24课堂在线网编程入门栏目!
-
c语言二进制转换成十进制的方法
2021-05-19 13:49:46c语言二进制转换成十进制的方法发布时间:2020-04-09 09:52:38来源:亿速云阅读:648作者:小新今天小编给大家分享的是c语言二进制转换成十进制的方法,很多人都不太了解,今天小编为了让大家更加了解二进制转换成十...c语言二进制转换成十进制的方法
发布时间:2020-04-09 09:52:38
来源:亿速云
阅读:648
作者:小新
今天小编给大家分享的是c语言二进制转换成十进制的方法,很多人都不太了解,今天小编为了让大家更加了解二进制转换成十进制的方法,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。
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语言程序既可以把二进制数成功转换成十进制数了。
以上就是c语言二进制转换成十进制方法的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注亿速云行业资讯频道哦!
-
c语言二进制表示查看
2022-04-17 09:58:40写了个查看c语言int型二进制查看的代码,在计算机基础里面还挺好用的 void jinzhi2(int x){ int i,b; for(i=31;i>=0;i--){ b=(x>>i)&1; printf("%d",b); if(i%8==0) printf(" ");} printf... -
c语言二进制数怎么表示_C语言的二进制数、位和字节
2020-11-22 04:01:31例如,二进制数1101可表示为: 1 x 2^3 + 1 x 2^2 + 0 x 2^1 + 1 x 2^0 以十进制数表示为: 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1 = 13 用二进制系统可以把任意整数(如果有足够的位)表示为0和1的组合。由于数字计算机通过... -
C语言文件二进制取反
2018-11-20 03:09:00C语言文件二进制取反。使用fread和fwrite。可以处理任意文件。 -
C语言二进制换十进制(简单)
2021-11-16 19:06:27做题思路:先确定二进制数长度,注意输入完成后的回车要用getchar()函数给吃掉,之后初始化为0一个数,先让其乘二,再让二进制数的每一位与'0'做差并加入其中,最后输出。 #include<stdio.h> int main... -
c语言二进制转八进制数
2021-11-25 19:47:18八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o), 整数部分以3位一组,最高有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的整数。 小数部份从最高有效... -
C语言二进制方式读写文件数据
2021-05-25 09:01:34fwrite(buffer, size, count,fp):以二进制的形式向指定的文件中写入若干数据项(由count决定),返回实际写入的数据项数目,各参数含义如下:buffer:一个存储区的起始地址,以该地址开始的存储区的数据即是保存到... -
c语言二进制十进制十六进制之间的转化(详解,含源代码)
2022-01-05 21:29:43c语言二进制十进制十六进制之间的转化(详解) -
C语言二进制数、位、字节、八进制十六进制
2022-02-23 21:14:04一、二进制数、位和字节 1、二进制数 以为基地表示的数字称为二进制数。二进制中的2和十进制中的10作用相同。二进制数1101可表示为: 1*23+1*22+0*21+1*20 以十进制数表示 1*8+1*4+0*2+1*1 = 13 二进制系统可以把... -
C语言 二进制文件读写实例讲解
2021-03-22 19:48:37因此本文将结合一个具体的例子来介绍C语言中的二进制文件读写,这也是我自我学习的一个记录。 一、函数介绍 在本例中,我们尝试在一个文件中写入10个字节的数据,其中每个字节均为0xFF,然后我们再将数据读取出来... -
C语言 二进制文件读写
2021-05-21 15:27:42上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_... -
C语言二进制数据-学习笔记(十九)
2021-07-25 23:07:32一、二进制数据 1、二进制数、位、字节与字 十进制数: 10,12等。 二进制数: 1011等。 一个位只能表示0,或者1两种状态,简称bit,一个位是一个bit。 一个字节为8个二进制,称为8位,简称BYTE,8个比特是一个字节。 ... -
c语言二进制输出
2019-11-26 16:27:52我们知道c语言有10进制整形输出%d,八进制输出%o,但是就是没有二进制输出, 我们可以使用stdlib.h中自带的itoa函数: char *itoa (int value, char *str, int base );//base是进制,填2即可2进制转换 由于嵌入式的... -
C语言二进制、八进制、十六进制整数书写和输出
2021-05-19 10:55:42整数是我们生活中常用的数据类型,也是编程中常用的一种数据,C语言用int关键字来定义整数变量(int 是 integer 的简写)。在定义变量的时候,可以加signed、unsigned、short和long四种修饰符。signed:有符号的,可以... -
c语言二进制转化为十进制_将十进制转换为C中的二进制
2020-09-09 17:50:05c语言二进制转化为十进制Here you will get program to convert decimal to binary in C. 在这里,您将获得将C中的十进制转换为二进制的程序。 We can convert a decimal number into binary by repeatedly ... -
C语言二进制与十进制互相转换的方法和示例
2020-04-19 13:28:14文章目录1、十进制转二进制字符串的思路2、二进制字符串转十进制的思路3、示例代码4、版权声明 在实际开发中,我们可以用0和1的字符串来表达信息,例如某设备有八个传感器,每个传感器的状态用1表示正常,用0表示... -
C语言二进制转换为八进制(附完整源码)
2021-02-20 21:12:02C语言二进制转换为八进制C语言二进制转换为八进制完整源码 C语言二进制转换为八进制完整源码 #include <stdio.h> // Function that returns the last three digits int three_digits(int n) { int r, d = 0,...