二进制、八进制、十进制、十六进制之间的互相转换_20200711
二进制、八进制、十进制、十六进制之间的互相转换
一、其他进制转十进制
任何进制转换十进制都能按照权值展开计算,二进制的权值为2的n-1次方,n是当前位数,十六进制为16的n-1次方,依此类推,小数部分为2的-n次方,n是小数的位数,展开的时候从左向右,整数部分是从右向左
1010B = 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 0 * 2^0 + 1 * 2^-1 + 0 * 2^-2 = 8 + 2 = 10
当前位数的值乘以当前位数的权值,然后累加起来就是最终的结果
十六进制八进制也是如此,比如
FFH = 15 * 16^1 + 15 * 16^0 = 240 + 15 = 255
如果是小数,小数部分第一位的权值就是2^-1,然后依次类推累加起来
1010.11B = 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 0 * 2^0 + 1 * 2^-1 + 1 * 2^-2 = 8 + 2 + 0.5 + 0.25 = 10.75
二、十进制转其他进制
十进制转二进制,用十进制对二进制取余,除以二进制的基数,余数为转换后的结果,商是下一次被取余的数,直到商比基数小,比如123转二进制
123 / 2 = 61,余1 61 / 2 = 30,余1 30 / 2 = 15, 余0
15 / 2 = 7, 余1 7 / 2 = 3,余1 3 / 2 = 1,余1
剩下一个1就不用除了,直接放到结果里,要将余数倒着拼接起来,这个1就是最高位了
最终结果就是:1111011B
十进制转其他进制也是这样,只不过基数变了而已
如果是负数,那就先当作是正数,再转成二进制,然后再反码补码(在计算机里负数是需要以补码形式存放的)
-10 = 0000 1010B(原码) = 1111 0101B(反码) = 1111 0110B(补码)
//C语言输出:-10
char a = 0b11110110;
printf("%d\n", a);
三、二进制转十六进制
二进制转十六进制
每1位十六进制都对应着4位二进制,只要记住对应关系就可以了
0000B => 0H 0001B => 1H 0010B => 2H 0011B => 3H
0100B => 4H 0101B => 5H 0110B => 6H 0111B => 7H
1000B => 8H 1001B => 9H 1010B => AH 1011B => BH
1100B => CH 1101B => DH 1110B => EH 1111B => FH
1000 1010B
8 A 结果为8A
二进制、八进制、十进制、十六进制之间的互相转换_20200711相关推荐
- 二进制 八进制 十进制 十六进制 之间进制转换(图解篇)
一.本文所涉及的内容(Contents) 目录 一.本文所涉及的内容(Contents) 二.背景(Contexts) 三.进制转换算法(Convert) ( ...
- python十六进制转换成八进制_Python 进制转换 二进制 八进制 十进制 十六进制
全局定义一定不要丢了 全局定义 base = [str(x) for x in range()] + [ chr(x) for x in range(ord('A'),ord('A')+)] 二进制 ...
- 二进制 八进制 十进制 十六进制
2->8:从个位开始把二进制数三个一组分组,然后每组分别换成8进制, 例:11,101,100 就是分组后的结果 11->3 101->5 100->4 所以结果是354 8- ...
- 【笔记】二进制八进制十进制十六进制互转详细教程和范例
最近复习之前的笔记基础.又把进制转换理解了一遍.放在这里以后备查.同时作为分享. 二进制转换八进制十进制十六进制 例: 11010 二进制转换八进制 需要2进制数字为每3位分组的十进制数,不足3位的倍 ...
- 二进制与八进制十进制十六进制之间的转换
目录 1. 计算机中数据存储的分类 2. 数值型数据的存储 2.1 十进制 2.2 二进制 2.3 八进制 2.4 ...
- 二进制八进制十进制十六进制及原码反码补码
1.进制的介绍 定义:进位制,人们规定的一种进位方式:表示某一位置上的数,运算时是逢X进一位. 十进制是逢十进一:二进制是逢二进一,八进制是逢八进一: 常见进制:二进制,八进制,十进制,十六进制: 学 ...
- 计算机系统中常用的进制,计算机中常用 二进制 八进制 十进制 十六进制的特点...
计算机中常用的计数制 用若干数位(由数码表示)的组合去表示一个数,各个数位之间是什么关系,即逢"几"进位,这就是进 位计数制的问题.也就是数制问题.数制,即进位计数制,是人们利用数 ...
- 二进制 八进制 十进制 十六进制的相互转换(精简总结)
之前看到的都是铺垫这术语那术语的,看了半天,还不知道怎么处理.这里就根据各种文章和自己的理解总结一小下下, 不一定准确,省略一些概念等繁琐的陈述,直接上结论 1.二进制转八进制:以小数点为分界线,各 ...
- Java 二进制,八进制,十进制,十六进制
学而时习之,温故而知新 二进制特征: 1 : 有2个数字组合,"0" 和"1" 2 : 运算时逢2进1 例如 101010 八进制的特点: 1: 有 8个数组组 ...
最新文章
- 链表问题4——反转双向链表
- java 画图保存图片_将绘图保存到图像文件,而不是使用Matplotlib显示它
- 快手基于RocketMQ的在线消息系统建设实践
- oracle-单行函数
- 2020腾讯二次元营销通案
- Spring框架----Spring常用IOC注解的分类
- switch case 遇到判断type分支的写法
- GIMP教程 3 扭曲变换工具 (瘦脸 瘦腿)
- To be a tough man
- 谷歌搜索算法分析及应对策略
- Linux下vi编辑器的使用方法
- aac mediarecorder录制_Android音视频录制之MediaRecorder+camera
- java+poodle漏洞修复_SSLv3 Poodle攻击漏洞检测工具
- Python中find_elements以及presence_of_element_located的用法
- 卷积神经网络学习项目--Kaggle仙人掌识别--基于TensorFlow(未完成)
- 内卷老员工之java内存模型的happens-before原则
- AutoMapper总结
- Android Activity跳转动画 - overridePendingTransition用法及原理分析
- cad布局教程_合并CAD布局就是这么快!
- 如何下载微信视频号上的视频(另类思路)