二进制和十进制的相互转换
来源:互联网 发布:raphael.js 类似工具 编辑:程序博客网 时间:2024/05/18 02:03
1.转成二进制主要有以下几种:
正整数转二进制,
负整数转二进制,
正小数转二进制;
负小数转二进制;
(1)正整数转二进制(原码):
要点:除二取余,然后倒序排列,高位补零。
也就是说,将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就OK咧。哎呀,还是举例说明吧,比如42转换为二进制,如图1所示操作。
42除以2得到的余数分别为010101,然后咱们倒着排一下,42所对应二进制就是101010.如图2所示更直观的表达。
计算机内部表示数的字节单位是定长的,如8位,16位,或32位。所以,位数不够时,高位补零,所说,如图3所示,42转换成二进制以后就是。00101010,也即规范的写法为:
(42)10=(00101010)2.
赶紧记住吧。
(2)负整数转换成二进制(原码):
先是将对应的正整数转换成二进制后,对二进制符号位为取反即可;
(3)正小数转二进制(原码):
对小数点以后的数乘以2,有一个结果吧,取结果的整数部分(不是1就是0喽),然后再用小数部分再乘以2,再取结果的整数部分……以此类推,直到小数部分为0或者位数已经够了就OK了。
然后把取的整数部分按先后次序排列就OK了,就构成了二进制小数部分的序列,举个例子吧,比如0.125,如图5所示。
如果小数的整数部分有大于0的整数时该如何转换呢?如以上整数转换成二进制,小数转换成二进制,然后加在一起就OK了,如图6所示。
(3)负小数转二进制(原码):
首先将正小数转为二进制,之后将符号位取反;
2.二进制(原码)转为十进制:
正整数二进制转十进制,
负整数二进制转十进制,
正小数二进制转十进制,
负小数二进制转十进制;
(1)整数二进制转换为十进制:首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。
先看首位是0的正整数,补齐位数以后,将二进制中的位数分别将下边对应的值相乘,然后相加得到的就为十进制,比如1010转换为十进制,方法如图7所示。
(2)小数二进制转换为十进制:
将有小数的二进制转换为十进制时:
例如0.1101转换为十进制的方法:将二进制中的四位数分别于下边(如图9所示)对应的值相乘后相加得到的值即为换算后的十进制。
- 十进制和二进制的相互转换
- 二进制和十进制之间的相互转换
- 十进制和二进制的相互转换
- 二进制和十进制的相互转换
- 使用bitset实现二进制和十进制的相互转换
- 使用bitset实现二进制和十进制的相互转换
- 二进制、八进制、十进制和十六进制之间的相互转换(正数)!
- js进行二进制和十进制之间的相互转换
- 二进制十进制相互转换
- js二进制和十进制相互转换
- 二进制 十进制和byte之间相互转换
- 十进制与二进制的相互转换
- 十进制小数与二进制的相互转换
- 十进制,二进制,八进制的相互转换
- 二进制和十进制的转换
- 十进制和二进制的转换
- 十进制与二进制相互转换
- 二进制十进制相互转换方法
- ubuntu下安装nginx服务器与设置开机自启动
- 身份证号码验证算法
- 歌词显示控件的实现下——自定义View
- 关于activity的启动模式的理解
- Hibernate Validation
- 二进制和十进制的相互转换
- 时间与时间戳之间的转换
- Mac Python3安装MySQL问题记录
- vue-cli 初始化项目结构
- 网络是怎样连接的学习笔记(四)
- php的命名空间
- Java I/O 文件复制练习
- JavaScript
- python中求两个List的交集、并集和差集