首页 > 其他分享 >二进制

二进制

时间:2023-11-27 12:45:18浏览次数:22  
标签:表示 反码 二进制 补码 十进制 原码

二进制

计算机使用二进制,每一位上的数字由0和1组成。

为什么计算机选择二进制

  1. 很难在一种物质上体现十种不同的状态,即使表示出来也很容易出错
  2. 电线的高、低电平(电压)表示两种状态非常方便,并且不容易出错

二进制下的加减运算

二进制的加减法与十进制类似,加法时:十进制为逢十进一,二进制是逢二进一;减法时:十进制是借一当十,二进制是借一当二。

 

十进制和二进制下的加、减法有什么不同呢?

  • 进位不同 逢十进一、逢二进一
  • 借位不同 借一当十、借一当二

十进制转二进制

整数部分短除法、小数部分短乘法

二进制转十进制

每位数字乘以它的权重累加到一起。

  • 如何计算权重 二进制位权为<span class="katex"><span class="katex-mathml">2(数位&minus;1)<span class="katex-html"><span class="base"><span class="strut"><span class="mord"><span class="mord">2<span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist"><span class="pstrut"><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mopen mtight">(<span class="mord cjk_fallback mtight">数位<span class="mbin mtight">&minus;<span class="mord mtight">1<span class="mclose mtight">)

  • 如何转换十进制 <span class="katex"><span class="katex-mathml">sum+=a[i]&lowast;w<span class="katex-html"><span class="base"><span class="strut"><span class="mord mathnormal">s<span class="mord mathnormal">u<span class="mord mathnormal">m<span class="mord">+<span class="mspace"><span class="mrel">=<span class="mspace"><span class="base"><span class="strut"><span class="mord mathnormal">a<span class="mopen">[<span class="mord mathnormal">i<span class="mclose">]<span class="mspace"><span class="mbin">&lowast;<span class="mspace"><span class="base"><span class="strut"><span class="mord mathnormal">w

原码、反码和补码

机器数

与普通二进制数不同,最高位作为符号位,1表示负数,0表示正数,其余位数表示真值。

原码

原码就是用第一位表示符号,其余位表示值。比如如果是8位二进制:

反码

反码的表示方法是:

  • 正数的反码是其本身。
  • 负数的反码是在其原码的基础上,符号位不变,其余各个位取反。

补码

补码的表示方法是:

  • 正数的补码就是其本身。
  • 负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(即在反码的基础上+1)

既然原码才是被人脑直接识别并用于计算表示方式,为何还会有反码和补码呢?

  1. 电脑计算减法是转换成加法进行计算,且符号位参与到运算中。 但是:
  1. 所以为了解决减法转换加法错误的问题,反码出现了。 但是:
  1. 为了解决-0的问题,出现了补码。并且把-0的编码作为数字范围内的最小值,所以数字范围增加了1个。

    8位机器数能表示的数据范围: -128 ~ 127

    32位机器数能表示的数据范围: -2147483648 ~ 2147483647

标签:表示,反码,二进制,补码,十进制,原码
From: https://www.cnblogs.com/luliusheng/p/17858995.html

相关文章

  • Kubernetes进阶之使用二进制包部署集群
    前言之前关于Kubernetes有写过文档参考:Kubernetes入门进阶课程https://www.cnblogs.com/minseo/category/1654539.html本文针对操作系统以及软件的新版本补充使用二进制包部署集群之前版本部署参考:https://www.cnblogs.com/minseo/p/12361731.html......
  • VUE 二进制文件流方式传递文件
    <template><div><el-form:model="form"ref="myForm"label-width="80px"><el-form-itemlabel="姓名"prop="name"><el-inputv-model="form.name"><......
  • k8s集群二进制安装部署
    1、前期规划主机规划IP地址主机名主机角色软件列表192.168.16.129k8s-master01masterkube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、haproxy、keepalived192.168.16.130k8s-master02masterkube-apiserver、kube-controller-man......
  • mojo编程语言:编译后的mojo二进制执行文件调用python库报错——设置MOJO_PYTHON_LIBRAR
    代码:frompythonimportPythonfnf()raises:#ThisisequivalenttoPython's`importnumpyasnp`letnp=Python.import_module("numpy")leta=np.array([1,2,3])print(a)fnmain()raises:f() mojo编译后执行,报错:Mojo/Pyth......
  • 【笔记】二进制拆分
    二进制拆分二进制拆分是对多重背包的一种优化方式,可以极大的优化多重背包的时间。原理一个数可以被拆分为任意二进制的和。例如:$7=2^0+2^1+2^2$任意一个数都可以表示为几个\(2\)的多少次方之和的形式。我们回顾下完全背包问题。背包容积为\(C\),有\(n\)种物品......
  • 190. 颠倒二进制位
    目录题目法一、字符串法二、循环题目颠倒给定的32位无符号整数的二进制位。示例1:输入:n=00000010100101000001111010011100输出:964176192(00111001011110000010100101000000)解释:输入的二进制串00000010100101000001111010011100表示无符号整数43261596,因此返回......
  • Sonarqube 二进制的安装与简单使用
    Sonarqube二进制的安装与简单使用背景使用容器安装sonarqube发现无法使用PG数据库尝试了很长时间没搞定想了想还是使用二进制的方式进行部署吧.下载https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-10.2.1.78527.zip这个应该是2023.11的最......
  • 二进制安装Kubernetes(k8s)v1.28.3
    二进制安装Kubernetes(k8s)v1.28.3https://github.com/cby-chen/Kubernetes开源不易,帮忙点个star,谢谢了介绍kubernetes(k8s)二进制高可用安装部署,支持IPv4+IPv6双栈。我使用IPV6的目的是在公网进行访问,所以我配置了IPV6静态地址。若您没有IPV6环境,或者不想使用IPv6,不对主机进行......
  • 二进制位中1个数计算方法
    二进制位中\(1\)个数计算方法按位循环while(y){if(y&1)res++;y>>=1;}BrianKernighan的位计数算法while(y){++res;y=(y&(y-1));}y-1:将y减去1。这将导致y最右边的非零位变为0,而在这个非零位之后的所有位都会取反。y&......
  • 二进制漏洞挖掘与利用-第二部分
    二进制漏洞挖掘与利用-第二部分1.ROP概念ROP全名为:返回导向编程ROP的全称为Return-orientedprogramming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防御(比如内存不可执行和代码签名等)。当你想要执行一段攻击代码(代码)时,发现这段......