数据表示—二进制与十进制转换

1. 二进制转十进制

按照数据类型分为三种:无符号的二进制整数有符号的二进制整数小数二进制数

1.1 无符号的二进制整数

计算技巧: 从二进制数的右边第一位起,从右往左,先用二进制位置上的数乘以2的相应位数的幂,然后把每一位的乘积相加即可得到二进制数对应的十进制数。

例如:二进制整数 110,从右往左分别标记位数,0,1,2。(注意,位数从0开始标记),根据二进制位置上的数和位数,产生计算过程数,如下图所示:

位数210
二进制数110
计算过程数1*2^21*2^10*2^0

最后,将计算过程数字求和
1 * 2^2 = 4
1 * 2^1 = 2
0 * 2^0 = 0
最终十进制结果: 4+2+0 = 6。

1.2 有符号的二进制整数

计算技巧: 最高位是符号位(1为负数,0为正数),除去符号位后的剩余位按照无符号的二进制转换方式计算。

例如:有符号的二进制整数1110,符号位(即最高位)是1,则为负数,剩余110按照1.1的方式计算为6,最终十进制结果:-6。

1.3 小数二进制数

计算技巧: 小数分为整数位和小数位。 整数位部分按照二进制整数转换方式计算;小数部分从小数点开始向右标记位置,起始位为-1,以此标记到第-n位结束,然后以二进制小数位上的数乘以2的相应位数的-n次幂。

例如:小数二进制数 110.011,从小数点开始,整数位从右往左,从0到n,求m * 2^n的和;小数位从左往右,从-1到-n,求m * 2 ^-n的和。如下图所示:

位数210--1-2-3
二进制数110.011
计算过程数1*2^21*2^10*2^0-0*2^-11*2^-21*2^-3

最后,将计算过程数字求和
1 * 2^2 = 4
1 * 2^1 = 2
0 * 2^0 = 0
0 * 2^-1 = 0
1 * 2^-2 = 1/4 = 0.25
1 * 2^-3 = 1/8 = 0.125
最终十进制结果:4+2+0+0+0.25+0.125 = 6.375

2. 十进制转二进制

十进制转二进制,分成两个部分,整数和小数。符号就根据计算结果在最高位增加符号位即可(1为负数,0为正数)。

2.1 十进制整数转二进制

计算技巧: 将整数除以2,如果商不为0,取商继续除以2,直至商为0,将余数从下到上列出即为二进制结果。

例如:十进制整数 6 。

十进制整数6余数
除2的商数30
除2的商数11
除2的商数(除不尽直接记101

2.2 十进制小数转二进制

计算技巧: 将其分为整数和小数两部分,整数部分按照2.1计算;小数部分乘以2取整,如果结果仍有小数继续用小数部分乘2,直到小数部分为0,或者达到精度要求为止,最后将取整部分从上到下即为小数部分的二进制结果。

例如:十进制小数 6.75 ,整数部分按照2.1计算结果为110,小数部分拆分单独计算,即0.75。

十进制小数0.75取整小数部分
乘以21.5010.50
小数部分继续乘以21.0010.00

从上到下取整的二进制结果为11,最终二进制结果为110.11。

2.3 负数转二进制

计算技巧: 在最高位添加符号位(1为负数,0为正数)即可。
例如: -6.75转十进制为1110.11。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ABS10-ASEMI开关电源专用ABS10

编辑:ll ABS10-ASEMI开关电源专用ABS10 型号:ABS10 品牌:ASEMI 封装:ABS-4 最大重复峰值反向电压:1000V 最大正向平均整流电流(Vdss):1A 功率(Pd):中小功率 芯片个数:4 引脚…

NetSuite多脚本性能研究

在项目中,随着复杂度的提升,客制脚本以及各类SuiteAPP的应用,导致某个对象上挂载的脚本大量增加,最终导致了性能问题。表现在保存单据时时间过长,严重影响人机界面的用户感受。基于此问题,我们开展了NetSui…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Grid)

网格容器,由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 仅支持GridItem…

ubuntu下修改硬盘名字和开机挂载硬盘

操作系统 文章目录 操作系统查看信息挂载处理修改自动挂载硬盘权限设置 ubuntu下修改硬盘名字和开机挂载硬盘 查看信息 查看电脑上所有硬盘分区的卷标及uuid, sudo blkid /dev/sda1: LABEL“win7” UUID“40305E93305E9030” TYPE“ntfs” /dev/sda5: LABEL“so…

pta 7-29 删除字符串中的子串 C语言

输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。 输入格式: 输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。 输出格式: 在一行中输出删除…

docker yocto vscode

scode的docker插件怎么使用 vscode是一个基于VS Code的开发环境,它提供了一个Docker插件,可以帮助你在VS Code中使用Docker进行开发。下面是使用scode的Docker插件的步骤: 安装scode插件:在VS Code的扩展商店中搜索并安装scode插…

Web 开发模式演进过程

作为初学者,要了解 Web 开发模式的演进过程,并从这些演进过程中看到变化,这样有利于开发者的思路提升。 什么是 Web 开发 Web :网页,可以通过浏览器访问的资源 Web 开发:基于网页载体的软件开发&#xff…

mac下Appuim环境安装

参考资料 Mac安装Appium_mac电脑安装appium-CSDN博客 安卓测试工具:Appium 环境安装(mac版本)_安卓自动化测试mac环境搭建-CSDN博客 1. 基本环境依赖 1 node.js 2 JDK(Java JDK) 3 Android SDK 4 Appium&#x…

Verilog——综合和防真

2.1综合 Verilog 是硬件描述语言,顾名思义,就是用代码的形式描述硬件的功能,最终在硬件电路上实 现该功能。在Verilog描述出硬件功能后需要使用综合器对Verilog代码进行解释并将代码转化成实际 的电路来表示,最终产生实际的电路&a…

APP性能测试,你需要关注哪些指标?

一、Android客户端性能测试常见指标 1、内存 2、CPU 3、流量 4、电量 5、启动速度 6、滑动速度、界面切换速度 7、与服务器交互的网络速度 二、预期标准指定原则 1、分析竞争对手的产品,所有指标要强于竞品 2、产品经理给出的预期性能指标数据 3、符合业…

Android制作微信添加多个图片,放大图片

1.添加依赖 implementation com.github.bumptech.glide:glide:4.12.0 //裁剪图片等等 implementation androidx.recyclerview:recyclerview:1.1.0 //recycleview依赖 2.使用recycleview <androidx.recyclerview.widget.RecyclerViewandroid:id"id/recyclerView"…

【Python使用】嘿马头条完整开发md笔记第2篇:数据库,作用【附代码文档】

嘿马头条项目从到完整开发笔记总结完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;课程简介&#xff0c;ToutiaoWeb虚拟机使用说明&#xff0c;Pycharm远程开发&#xff0c;产品与开发&#xff0c;数据库1 产品介绍,2 原型图与UI图,3 技术架构,4 开发。OS…

【 React 】Real DOM 和Virtual DOM的区别?优缺点?

1. 是什么 Real DOM,真实DOM ,意思为文档对象模型&#xff0c;是一个结构化文本的抽象&#xff0c;在页面渲染出的每一个结点都是一个真实DOM结构&#xff0c;如下&#xff1a; <div id"root"><h1>Hello World</h1> </div>Virtual Dom,本质…

SSL证书过期不更新会有什么影响?怎么续签?

SSL证书如果不及时更新&#xff0c;可能会带来以下问题&#xff1a; 1.影响体验和信誉&#xff1a; - 如果你的网站SSL证书过期了&#xff0c;现在大部分浏览器都会提醒用户这个网站的安全证书已经失效。这就很可能让用户觉得你的网站不太安全&#xff0c;不敢继续浏览&#x…

node后端helmet中间件

认识helmet helmet 是一个 Node.js 的中间件&#xff0c;用于增强 Web 应用程序的安全性。它通过设置各种 HTTP 头来增加安全性&#xff0c;以防止一些常见的攻击。 作用 以下是一些 helmet 中间件可以帮助你处理的安全问题&#xff1a; 设置 HTTP 头部&#xff1a; helmet …

mysql判断一个字符串字段的长度是否为0

LENGTH(str) &#xff1a;返回字符串 str 所占用的字节数。 CHAR_LENGTH(str) &#xff1a;返回字符串 str 中字符的数量&#xff08;对于多字节字符集如UTF-8更为精确&#xff0c;因为它会按照字符而非字节计数&#xff09;。 如果字符串中都是单字节字符&#xff0c;或者不在…

Python接口自动化之接口依赖

一、场景说明 在面试接口自动化时&#xff0c;经常会问&#xff0c;其他接口调用的前提条件是当前用户必须是登录状态&#xff0c;如何处理接口依赖&#xff1f; 在此之前我们介绍过session管理器保存会话状态。如果接口请求需要携带token&#xff0c;那么又如果处理呢&#…

绿色再生·安卓4G智能远程操作巡视机器人小车

一、前言 1.1 项目介绍 【1】项目功能介绍 随着物联网技术与移动通信技术的快速发展&#xff0c;远程遥控设备在日常生活及工业应用中的普及度日益提高。无论是家用扫地机器人实现自主导航清扫&#xff0c;还是目前抖音平台上展示的实景互动小车等创新应用&#xff0c;都体现…

【探索AI】三十二-计算机视觉(七)实践项目与案例分析

实践项目与案例分析 图像分类项目:使用公开数据集CIFAR-10和ImageNet进行训练和评估概念及步骤代码实例目标检测项目:实现基于YOLO或SSD的实时目标检测步骤 1: 环境准备步骤 2: 数据集准备步骤 3: 模型选择与下载步骤 4: 编写代码加载模型步骤 5: 实时视频流处理步骤 6: 处理…

Device Tree (四) - device_node -> platform_device

一&#xff0c;调用到of_platform_populate的流程 kernel V5.10: start_kernel(void) ----setup_arch(&command_line); --------setup_machine_fdt(__fdt_pointer); /* D:\work\source_code\msm-kernel\msm_kernel\arch\arm64\kernel\setup.c */ --------unflatten_device…