二进制数之间的相互转换
首先将字符的数据使用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 ...
最新文章
- php 判断类存在,PHP怎么判断类是否存在
- asterisk配置会议室meetme.conf
- 明白了为什么java方法上面为什么要加个@符号
- 一台微型计算机的处理速度主要取决于,2017年答案计算机等级考试题库「附答案」...
- Problem Solving(POJ-3265)
- Delphi 2009 安装序列号
- pythonobject转int_在Python中将元组转换为int
- TCP/IP协议卷学习---基础部分(十六 BOOTP)
- 第二届CCF计算机职业资格认证考试题解(C++)
- php实例精通txt下载,PHP实例精通(1碟)
- 免费的虚拟主机 000webhost
- STM32 ISP烧录过程
- Python自定义豆瓣电影种类,排行,点评的爬取与存储(高阶上)
- 漏洞解决方案-明文传输漏洞
- 利用G25祖源计算器坐标画PCA散点图
- 机器学习:线性回归梯度下降预测波士顿房价
- python---做一个恶搞程序
- Cytoskeleton / 艾美捷——泛素化亲和珠
- web前端开发发展史,前后30年,展望未来!
- Vector - VT System - 板卡_VT8006/VT8012