文档章节

二进制相关

NotFound403
 NotFound403
发布于 01/16 23:37
字数 569
阅读 10
收藏 0

二进制

众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以原码的补码形式表达。 什么叫补码呢?这得从原码,反码说起。

原码:一个正数,按照绝对值大小转换成的二进制数;一个负数按照绝对值大小转换成的二进制数,然后最高位补1,称为原码。 比如 00000000 00000000 00000000 00000101 是 5的 原码;10000000 00000000 00000000 00000101 是 -5的 原码。  

反码:正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反。 取反操作指:原为1,得0;原为0,得1。(1变0; 0变1) 比如:正数00000000 00000000 00000000 00000101 的反码还是 00000000 00000000 00000000 00000101 ; 负数10000000 00000000 00000000 00000101每一位取反(除符号位),得11111111 11111111 11111111 11111010。 称:10000000 00000000 00000000 00000101 和 11111111 11111111 11111111 11111010互为反码。  

补码:正数的补码与原码相同,负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1.

总结

  • 原码表示法规定:用符号位和数值表示带符号数,正数的符号位用“0”表示,负数的符号位用“1”表示,数值部分用二进制形式表示。
  • 反码表示法规定:正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反。
  • 补码表示法规定:正数的补码与原码相同,负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1.
  • 正零和负零的补码相同,[+0]补=[-0]补=0000 0000B。

© 著作权归作者所有

共有 人打赏支持
NotFound403
粉丝 22
博文 29
码字总数 18167
作品 1
郑州
程序员
私信 提问
Windows下安装ipython和启用qtconsole

可通过两种方式安装ipython,先安装pyreadline pip install pyreadline 或者到 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 找到相关二进制文件进行安装 1.通过pip安装,但是这种方式对于新...

白夜繁櫻
2013/07/20
0
0
我们为国内的逆向工程师做了一件事!

拿到这本《Linux 二进制分析》,我不禁心生感慨。 对于软件逆向工程这门手艺来说,最难的便是入门。软件逆向不同于软件的编写。基于汇编语言的软件逆向将绝大多数的人拦在了门外。少部分人打...

作者: 老王
2017/11/27
0
0
输入一个十进制整数,统计其中二进制1的个数

题目:统计给定的十进制数的二进制中1的个数 分析: 1.很多人看到这个需求的时候,第一反应是先把给定的十进制数转换成二进制数,再把二进制数转换为字符数组,再遍历这个字符数组计算1出现的...

kuangsonghan
2017/12/13
0
0
mariadb备份与恢复工具

1.mysqldump: shell> mysqldump [options] db_name [tbl_name ...] #可以备份单个数据库的单个表,不会自动创建数据库,恢复时需要先创建数据库shell> mysqldump [options] --databases db...

love8023icando
2015/11/11
0
0
使用php语言中的mysql_query()执行sql语句,在mysql的二进制日志中不能看见执行的命令。

我有一个站点http://www.dream-launching.com,前几天对他debug的时候,需要知道程序是如何操作数据库的。所以就尝试 查看二进制日志,后来我发现,我通过php下插入,删除,更新等操作是可以...

jevian
2015/03/31
434
7

没有更多内容

加载失败,请刷新页面

加载更多

学习设计模式之路

https://java-design-patterns.com/patterns/ https://www.oodesign.com/ https://www.programering.com/a/MTNxAzMwATY.html https://design-patterns.readthedocs.io/zh_CN/latest/ https:/......

晨猫
今天
1
0
JDK1.8 jar包说明

JDK 1.8 lib:access-bridge-64.jarcharsets.jarcldrdata.jardeploy.jardnsns.jarjaccess.jarjavawa.jarjce.jarjfr.jarjfxrt.jarjfxswt.jarjsse.jarlocaledata.jar......

冷基
今天
1
0
判断用户的icloud是否开启【Swift4.2】

使用icloudkit存储用户私人数据时,必须判断用户的icloud是否开启【Swift4.2】 func isICloudContainerAvailable()-> Bool { if FileManager.default.ubiquityIdentityToken != ni......

叶落花开
今天
2
0
今天的学习

1、执行git add *命令就把改动提交到了暂存区,执行git pull命令将远程仓库的数据拉到当前分支并合并,执行git checkout [branch-name]切换分支 2、执行git commit -m '说明' 命令就把改动提...

墨冥
昨天
0
0
Android4.4 及以下TextView,Button等控件使用矢量图报错

1 问题描述 最近项目开发中,图标资源我尽量使用了矢量图,然而配置了基本的兼容设置,程序在低版本中运行还是出现了问题。 xml布局文件中,在TextView中使用矢量图,比如android:drawableS...

newtrek
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部