2进制转10进制
博客引用处(以下内容在原有博客基础上进行补充或更改,谢谢这些大牛的博客指导):
二进制如何转十进制,十进制如何转二进制
十进制转二进制
转成二进制主要有以下几种:正整数转二进制,负整数转二进制,小数转二进制;
1、 正整数转成二进制。要点一定一定要记住哈:除二取余,然后倒序排列,高位补零。
也就是说,将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就OK咧。哎呀,还是举例说明吧,比如42转换为二进制,如图1所示操作:
42除以2得到的余数分别为010101,然后咱们倒着排一下,42所对应二进制就是101010.如图2所示更直观的表达:
计算机内部表示数的字节单位是定长的,如8位,16位,或32位。所以,位数不够时,高位补零,所说,如图3所示,42转换成二进制以后就是。00101010,也即规范的写法为(42)10=(00101010)2.赶紧记住吧。
2、 负整数转换成二进制
方法:先是将对应的正整数转换成二进制后,对二进制取反,然后对结果再加一。还以42为例,负整数就是-42,如图4所示为方法解释。最后即为:
3、 小数转换为二进制的方法:对小数点以后的数乘以2,有一个结果吧,取结果的整数部分(不是1就是0喽),然后再用小数部分再乘以2,再取结果的整数部分……以此类推,直到小数部分为0或者位数已经够了就OK了。然后把取的整数部分按先后次序排列就OK了,就构成了二进制小数部分的序列,举个例子吧,比如0.125,如图5所示。
如果小数的整数部分有大于0的整数时该如何转换呢?如以上整数转换成二进制,小数转换成二进制,然后加在一起就OK了,如图6所示。
4、 整数二进制转换为十进制:首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。
先看首位是0的正整数,补齐位数以后,将二进制中的位数分别将下边对应的值相乘,然后相加得到的就为十进制,比如1010转换为十进制,方法如图7所示。
5、若二进制补足位数后首位为1时,就需要先取反再换算:例如,11101011,首位为1,那么就先取反吧:-00010100,然后算一下10100对应的十进制为20,所以对应的十进制为-20,方法如图8所示。
6、将有小数的二进制转换为十进制时:例如0.1101转换为十进制的方法:将二进制中的四位数分别于下边(如图9所示)对应的值相乘后相加得到的值即为换算后的十进制。
相关阅读
博客园首页新随笔联系管理订阅随笔- 92 文章- 0 评论- 222 Java Web(五) JSP详解(四大作用域九大内置对象等) 前面讲解了
1.char* 转换成 LPCTSTR char ch[1024] = "wo shi ni baba"; int num = MultiByteToWideChar(0,0,ch,-1,NULL,0); wchar_t *wide
文章目录题目代码(c语言)解析小结题目 1)问题描述:将从键盘输入的十进制数转换为N(如二进制,八进制,十六进制)进制数据。2)要求:利用顺序
《简介》 QSV是一种影视视频的格式,也是最为特殊的视频格式之一,为何这么说呢,因为这种QSV格式是爱奇艺特有的视频格式。通过爱奇艺
//服务器返回的值往往是秒,但是计算的时候要求毫秒,需要*1000L才能得到正确的日期结果。SimpleDateFormat sdf = new SimpleDateFor