博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
整数转二进制,浮点数转二进制
阅读量:6738 次
发布时间:2019-06-25

本文共 1303 字,大约阅读时间需要 4 分钟。

百度里的: 整数怎样转2进制,小数怎样转2进制就不说了。 12.5: 1. 整数部分12,二进制为1100; 小数部分0.5, 二进制是.1,先把他们连起来,从第一个1数起取24位(后面补0): 1100.10000000000000000000 这部分是。(把小数点前后两部分连起来再取掉头前的1,就是尾数) 2. 把小数点移到第一个1的后面,需要左移3位, 加上127:127+3=130,二进制是10000010,这是阶码。 3. -12.5是负数,所以符号位是1。把符号位,阶码和尾数连起来。注意,尾数的第一位总是1,所以规定不存这一位的1,只取后23位: 1 10000010 10010000000000000000000 把这32位按8位一节整理一下,得: 11000001 01001000 00000000 00000000 就是的 C1480000. 2.025675                                     1. 整数部分2,二进制为10; 小数部分0.025675, 二进制是.0000011010010010101001,先把他们连起来,从第一个1数起取24位(后面补0): 10.0000011010010010101001 这部分是。把小数点前后两部分连起来再取掉头前的1,就是尾数: 00000011010010010101001 2. 把小数点移到第一个1的后面,左移了1位, 加上127:127+1=128,二进制是10000000,这是阶码。 3. 2.025675是正数,所以符号位是0。把符号位,阶码和尾数连起来: 0 10000000 00000011010010010101001 把这32位按8位一节整理一下,得: 01000000 00000001 10100100 10101001 就是的 4001A4A9. -1.99744 还需要详细说吗? 如果只有小数部分,那么需要右移小数点. 比如右移3位才能放到第一个1的后面, 阶码就是127-3=124. 补充一个浮点手工转换成的例子: 假设浮点是 1011 1101 0100 0000 0000 0000 0000 0000 按1,8,23位分成三段: 1 01111010 10000000000000000000000 最后一段是尾数。前面加上"1.", 就是 1.10000000000000000000000 下面确定小数点位置。阶码是01111010,加上00000101才是01111111(127), 所以他减去127的得-5。(或者化成十进制得122,122-127=-5)。 因此尾数1.10(后面的0不写了)是小数点右移5位的结果。要复原它就要左移5位小数点,得0.0000110, 即十进制的0.046875 最后是符号:1代表负数,所以最后的结果是 -0.046875 还要注意其他机器的表示方法可能与此不同. 不能任意移植.

转载于:https://www.cnblogs.com/woniuzhongdetou/p/3607338.html

你可能感兴趣的文章
2010年7月毕业到现在
查看>>
struts2+ajax+json 基本
查看>>
编译安装apache
查看>>
Objective-C MVC
查看>>
linux视频教程之SSH
查看>>
shiro 基础
查看>>
用树莓派控制8*8led矩阵显示红心
查看>>
【译】JasperReports Library使用指南
查看>>
php添加扩展库
查看>>
zabbix邮件报警接入,微信报警接入
查看>>
Appium环境配置笔记2 -- Android SDK的路径不能有空格
查看>>
python写的系统常用命令(二)
查看>>
二、在HTML中使用JavaScript
查看>>
Oracle 用户管理与权限分配
查看>>
Linux挂载NTFS硬盘错误解决办法
查看>>
【office培训】【王佩丰】Excel2010视频教程第4讲:排序与筛选
查看>>
手电筒项目开发一闪光灯
查看>>
php 倒序读取txt 文件中最后几行的内容,带分页
查看>>
http_proxy
查看>>
竖向滑动标签DEMO
查看>>