二进制数之间的相互转换
首先将字符的数据使用c库函数atoi()转换为int 类型计算,在将值以字符的形式存储在数组中
适合不太大的小数
strrev() 函数反转字符串
1、使用int buff[]存储二进制数
2、使用递归
3、使用字符存储二进制数
1、使用int buff[128] 类型存储二进制数值
char* num_to_io(int num)
{int a = 0;int buff[128] = {0};int two[128] = {0};for(int i = 0;1;i++){buf[i] = num%2;num = num/2;if(num == 1){buf[i+1] = num;a = i;break;}}for(int j =0; j <= a;j++){two[j] = buff[a-j];}for(int k = 0;k <= a;k++){printf("%d",two[k]);}return 0;
}2、递归
#include <stdio.h>void convert(int n)
{if(n > 1){convert(n / 2)}printf("%d",n%2);
}int main()
{int n;scanf("%d",&n);convert(n);return 0;
}3、字符存储
//更改为字符存储
int main()
{int num = 255;int a = 0;char buff[128] = {0};char two[128] = {0};for(int i = 0;1;i++){if(num%2 == 1){buff[i] = '1';}else{buff[i] = '0';}num = num/2;if(num == 1){buff[i+1] = '1';a = i+1;break;}}printf("the num : ");for(int j = a; j>=0;j--){two[a-j] = buff[j];}printf("the m is %s\n",two);return 0;
}
字符串的二进制数转换为十进制的int类型
字符串中的单个字符的比较将二进制转换为十进制数
#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main()
{char *num = "1111";int a = strlen(num);printf("the a is %d\n",a);int numa = 0;int numb = 0;for(int i = a-1;i>=0 ;i++){if(*num == '1'){numa = 2;for(int j = i-1;j > 0;j--){numa = numa*2;}if(i == 0){numa = 1;}numb = numa + numb;printf("the i is %d and numb us %d\n",i,numb);num++;}}printf("the numb is %d \n",numb);
}
头文件:#include <math.h>
pow() 函数用来求 x 的 y 次幂(次方),其原型为:
double pow(double x, double y);
pow()用来计算以x 为底的 y 次方值,然后将结果返回。设返回值为 ret,则 ret = xy。
可能导致错误的情况:
- 如果底数 x 为负数并且指数 y 不是整数,将会导致 domain error 错误。
- 如果底数 x 和指数 y 都是 0,可能会导致 domain error 错误,也可能没有;这跟库的实现有关。
- 如果底数 x 是 0,指数 y 是负数,可能会导致 domain error 或 pole error 错误,也可能没有;这跟库的实现有关。
- 如果返回值 ret 太大或者太小,将会导致 range error 错误。
错误代码:
- 如果发生 domain error 错误,那么全局变量 errno 将被设置为 EDOM;
- 如果发生 pole error 或 range error 错误,那么全局变量 errno 将被设置为 ERANGE。
注意,使用 GCC 编译时请加入-lm。
二进制数之间的相互转换相关推荐
- 8位十六进制转换32位十六进制_网络中的数制系统--二进制十六进制与十进制之间的相互转换...
网络中计算机的32位IPv4地址以二进制显示,也会以点分十进制显示.而IPv6的地址是128位,是由数字和A-F组成的十六进制系统.因此,了解并且学会在其三者之间相互转换是非常重要的,让我们能够更好的 ...
- BCD码以及各进制之间的相互转换
目录 前言 一.BCD码 二.进制互转 1.任意进制转十进制:系数X基数 ^ 权值(累加) 2.任意进制转二进制 前言 主要学习什么是BCD码,以及二进制.八进制.十进制.十六进制之间的相互转换 一. ...
- 二进制与八进制、十进制、十六进制之间的相互转换
计算机中有四种进制方式: 1.二进制:由0和1两个数字组成. 2.八进制:八个符号,由0~7八个数字组成.开头一般以0开头. 3.十进制:十个符号,由0~9十个数字组成,不能以0开头.是咋们日常生活中 ...
- 计算机进位制转化ppt,各种进位制之间的相互转换.PPT
各种进位制之间的相互转换 第 2 章 计算机中的信息表示 计算机中的信息分为数据与指令.数据又分数值型和非数值型:指令信息则是计算机产生各种控制命令的基本依据. 学习内容: 数值型数据的表示方法 进位 ...
- 1.不同进制数之间的相互转换
我们比较常用的数制有十进制.二进制.八进制和十六进制.二进制就是逢二进一,每位都是小于二的数,其他进制类推.计算机存储数据使用的是二进制编码. 对于一个R进制的数X来说,其值可以通过下面的公式算出来: ...
- 电子技术基础(三)__第5章 数字电路基础__二进制与十六进制之间的相互转换
二进制与十六进制之间的相互转换 由于16 = ,因此1位 十六进制数相当于4位二进制数, 这样, 十六进制数与二进制数之间的相互转让是十分方便的. 二进制整数转换成十六进制数的方法是: 从二进制数的 ...
- DLPack构建跨框架深度学习编译器-实现张量之间的相互转换【pytorch】
文章目录 1 概述 2 pytorch使用torch.utils.dlpack实现DLPack与张量之间的相互转换 2.1 将DLPack解码为张量. 2.2 将张量转换为DLPack 3 在 PyT ...
- PInvoke复习之深入理解char*与wchar_t*与string以及wstring之间的相互转换
本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下 #ifndef USE_H_ #define USE_H_ #i ...
- C#之windows桌面软件第八课:汉字(GB2312)与编码(UTF-8)之间的相互转换
C#之windows桌面软件第八课:汉字(GB2312)与编码(UTF-8)之间的相互转换 using System; using System.Collections.Generic; using ...
最新文章
- 手持移动端特殊链接:打电话,发短信,发邮件
- 技术解读|云上企业级存储——打开存储新维度,促进用户核心业务创新
- 克隆人不只出现在科幻电影里?阿里虚拟美女“俪知”亮相
- Vue/Angular中父窗口新开的子窗口关闭的时候刷新父窗口
- 树控件,多条件组合查询与混合数据源
- 旭辉集团签约帆软软件,打造地产行业数字化转型新标杆
- 异常检测-基于孤立森林算法Isolation-based Anomaly Detection-1-论文学习
- [sitemap 索引情况提示] 根据 sitemap 的规则[0],当前页面 [pages/loading/loading] 将被索引
- 外键查询_详解MySQL数据库删除所有表的外键约束、禁用外键约束相关脚本
- torch安装及CUDA和torch版本的对应关系
- 119 Python程序中的线程操作-线程同步
- 视频教程-2020年软考网络规划设计师论文写作历年真题详解软考视频教程-软考
- AutoCAD 2000-14的序列号大全
- 产品推广都有哪些方法可以用?
- 农村有人收旧房梁,一根100多,破木头有啥用?
- 被svn版本控制的文件上显示红色叉号
- 量子力学随机矩阵理论
- 【时间序列】时序分析实战之SARIMA、Linear model...
- 期货交易在使用基本面分析操作过程中要注意哪些问题?怎么控制风险?
- 关注流浪猫:从我们出发