首页 > 其他分享 >二进制的详细展开

二进制的详细展开

时间:2024-10-25 20:48:13浏览次数:1  
标签:反码 字节 二进制 补码 二进制位 详细 展开 原码

1.二进制转换成十进制

使用8421快速转换法

使用方法:

1.从右往左写出8421表格(就是每个数字都*2)

2.二进制数从右往左依次对应8421表格

3.二进制的数中,0不取,1取

4.将取出来的数进行相加即可

2.二进制的原码、反码、补码

1.原码:是数据的二进制体现形式,一个字节由8个二进制位组成

高位即二进制数开头第一位,表示符号位,高位为0则为正数,为1则为负数。其余位表示数值大小

引出:在上面的附图中,两个二进制位在十进制中分别表示10和-10,按照道理来说相加应该是0,但实际算出却是-20


从右开始算,0+0还是0,1+1逢2向前进1,0+1 写1 1+1逢2再进1...

由此得出结论,二进制原码的弊端是遇到负数运算会出现错误

知识: 计算机在运算的时候都是以二进制补码的形式在运算

2.反码

  • 正数的反码与其原码相同
  • 负数的反码是对原码逐位取反,但符号位除外

3.补码

  • 正数的补码与其原码相同
  • 负数的补码是在其反码的末位加1

解答:接着我们用10的补码和-10的补码进行运算

1个字节由8个二进制位组成,所以开头的1舍去,最后得到就是0

3.解答强转中的精度损失问题

之前我们设定的130在经过强转后得出的结果是-126

解答:首先知道130的二进制位是1000 0010 又因为是int类型,占4个字节,所以要在前面补上3个字节。

.

强转到byte后占1个字节,会强行砍掉前面3个字节直接得到1000 0010,这时我们会发现二进制位变成负数了

.

又因为运算的时候是补码,所以我们还要反推出原码(按照原码推补码反向操作)最后得出原码是1111 1110 也就是-126


(附图中第一个是补码,以此类推)

标签:反码,字节,二进制,补码,二进制位,详细,展开,原码
From: https://www.cnblogs.com/zhishi6/p/18503258

相关文章

  • C语言-详细讲解-洛谷P1255 数楼梯
    目录1.题目要求2.题目解读 1.如何计算走法数?2.如何解决大数加法,防止数据溢出1.进位的处理2.正序运算,倒序输出3.寻找结果中最高的非零位3.代码实现1.题目要求2.题目解读 一道非常经典的题目,简洁易懂,但需要一定的数学思维,难点如下:1.如何计算走法数?这里需要我......
  • 2:ARM 汇编语言2:二进制/十进制/十六进制
    2.1对于几大进制的介绍2.1.1从十进制开始(decimalsystem)十进制是啥,看起来感觉很生僻,一看就是一个高大上的词语,但是这个的含义就是我们常用的数字的规则,简洁的说就是十进一的含义,10(个位上是十,然后往十位进一,所以就是10),所以十位就是10**1 10=1*10**1+0*10**0,答案就是10......
  • 2024 年 MathorCup 数学应用挑战赛——大数据竞赛 赛道 A:台风的分类与预测 思路和代码
                       问题1:台风分类模型问题2:台风路径预测模型问题3:台风登陆后降水量与风速关系模型总结该题目分为三个主要问题,分别要求构建台风的分类模型、路径预测模型和降水风速模型。为了完成此任务,我们将运用大数据分析和机器学习建模技术,并......
  • 配置Maven最详细步骤
    第一先下载:Maven–WelcometoApacheMaven第二步:先点新建按钮后配置环境变量:MAVEN_HOME下一步点击Path系统变量:输入以下:%MAVEN_HOME%\bin后面就点确认,再打开命令提示符(win+r输入:cmd):mvn-v说明Maven配置成功!......
  • Linux系统rpm安装MySQL详细操作步骤
    安装方式介绍在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下:安装方式特点二进制发布包安装软件已经针对具体平台编译打包发布,只要解压,修改配置即可rpm安装软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装(不能自行解决库依赖问题)yum安装一种在线......
  • 2024年软件设计师中级(软考中级)详细笔记【7】面向对象技术(上)(分值10+)
    目录前言第7章面向对象技术(上)7.1面向对象基础(3-4分)7.1.1面向对象的基本概念7.1.2面向对象分析(熟记)7.1.3面向对象设计7.1.4面向对象程序设计7.1.5面向对象测试7.2UML(3~4分)7.2.1事务7.2.2关系7.2.2.1多重度7.2.3UML中的的图结语前言在备考软件设......
  • Linux_进程理解、状态与优先级(详细版)
    Linux_进程理解、状态与优先级(详细版)1.进程的概念课本概念:程序的一个执行实例,正在执行的程序等。内核观点:担当分配系统资源(CPU时间,内存)的实体。其实:进程=内核的相关管理数据结构(task_struct、页表等)+程序的代码和数据task_struct:是描述进程的结构体,是Linux内核的一种数据......
  • 使用本地浏览器打开远程服务器生成的网页——详细教程
    使用本地浏览器打开远程服务器生成的网页——详细教程在日常开发或运维中,我们常常需要访问部署在远程服务器上的网页应用,例如JupyterNotebook、Web服务等。通过SSH端口转发,我们可以在不暴露远程服务器端口的情况下,使用本地浏览器直接访问远程服务器生成的网页。本文将......
  • 【2024最新】黑客入侵测试工具大全(超详细),收藏这一篇就够了!
    所有工具仅能在取得足够合法授权的企业安全建设中使用,在使用所有工具过程中,您应确保自己所有行为符合当地的法律法规。如您在使用所有工具的过程中存在任何非法行为,您将自行承担所有后果,所有工具所有开发者和所有贡献者不承担任何法律及连带责任。除非您已充分阅读、完全理解......
  • 如何查看字体详细信息,修改字体名称?
    1、下载并安装FontForge软件:https://fontforge.org/en-US/downloads/2、打开软件,选择所需字体,点击OK按钮:3、这个软件看起来是可以做很完整的字体编辑,不过目前只是想查看下字体信息在字体编辑界面中,选择Element菜单,点击FontInfo...菜单项:4、找到TTFNames项目,就可......