二进制表示负数的方法:“ 补数 ”
在十进制中表示正负数会有专门的符号来区分,而在二进制中,怎样表示正负数呢???
在二进制中表示负数时,一般会把位权的最高位上的数字作为符号来使用,因此,位权的最高位也称为符号位。
符号位为 0,表示正数;符号位为 1,表示负数。
例:
我们都知道十进制数 1, 用二进制表示是:0000 0001,那么,-1用二进制怎么表示呢?
可能有人会说,把0000 0001的符号位变成1不就完了吗? 也就是表示成这样:1000 0001
真的是这样吗?
我们都知道:1 + (-1)= 0,那么我们将用二进制表示的1和-1相加,看看等不等于0:
0000 0001 + 1000 0001 = 1000 0010 (十进制表示是 -128)
那 -1用二进制表示是怎样的呢?
这里我们用到的方法叫做“二进制的补数”,补数就是用正数来表示负数。而求补数的方法叫做“取反加一”。
取反加一法可以分成两步来计算:第一步:取反。 在二进制数中,只有0和1;我们将0变成1,将1变成0,就叫取反。
第二步:加一。 将取反得到的数+1.
例如,要用八位二进制数表示 -1,就得先求得 1的二进制数,也就是0000 0001,然后用0000 0001的补数来表示 -1。 先取反:1111 1110,再加一:1111 1111。 验证:0000 0001 + 1111 1111 = 1 0000 0000 在这里,出现了最高位溢出的情况,也就是说在八位的范围内进行运算时,1 0000 0000中的 1 溢出,1 0000 0000就被计算机认为是0000 0000了
这里也请大家记住一个法则:将二进制的数取反加一后,与原来的值相加,结果为0
注:当运算结果为负数时,该结果为补数表示形式。例如:十进制运算 6 - 9 = -3,如果用二进制数进行运算的话,-3将会被补数形式表示。
二进制表示负数的方法:“ 补数 ”相关推荐
- 第三讲,我们来谈谈:“二进制的负数”
首先,你要记住并且不要问为什么:"在计算机中,所有的数据,最终都是使用二进制数表达的." 还要记住并且不要问为什么:"在计算机中,正数是直接用原码来表示和存储的.&quo ...
- 十进制转化为二进制的几种方法
/十进制转二进制的三种方法/ package 数据结构; import java.util.Scanner;; public class 十转二进制 { public static void main ...
- 计算机进制中负数对应的二进制,十进制负数转换为二进制、八进制、十六进制的知识分享...
搜索热词 程序猿们或许对二进制都不陌生,二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.但是很多人都会将二进制转换成整数,但是如何用二进制表示负数呢?有的人会说,在二进制 ...
- Python基础入门之二进制的负数
刚刚介绍了位运算符,里面涉及到了二进制的运算,出现了a = 60,~a = 1100 0011 = -61的计算,所以这里记录一下二进制的负数表示和计算. 二进制是计算技术中广泛采用的一种数制.二进制 ...
- php处理二进制,PHP应用:PHP处理二进制数据的实现方法
<PHP应用:PHP处理二进制数据的实现方法>要点: 本文介绍了PHP应用:PHP处理二进制数据的实现方法,希望对您有用.如果有疑问,可以联系我们. PHP处理二进制数据需要用到pack( ...
- 把十进制转化为二进制的一种方法
把十进制转化为二进制的一种方法: void pb(int n){if(n != 0){pb(n/2);putchar('0'+n%2);} }int main(void){for(int i=10; ...
- java xml二进制流传输_XML中二进制数据的处理方法
XML中二进制数据的处理方法 在xml中,所有的数据都是以文本的形式来显示,但是二进制数据不能直接以文本格式来表示,那xml又是怎么处理二进制数据的呢?下面就来探讨一下. 为了简单和通用性,xml被设 ...
- 二进制(二):十进制转二进制的两种方法
前一篇已经简单介绍了二进制,现在来介绍如何把我们常用的十进制数字转换成二进制.十进制转二进制有两种方法: 一.连除法(把十进制数字除以2,得到商和余数,再把商除2,直到除到0为止,然后按倒序把余数排列 ...
- 二进制正负数的表示法
数在数字电路中的二进制表示形式成为机器数,在通常的算术运算中,用"+"."-"表示正数和负数,而数字电路不识别"+","-&quo ...
最新文章
- 华大基因回复深交所:“14万中国人基因大数据”项目与外方机构无关
- Python面试题-朋友昨天去面试,这5个Python面试题都被考到了,太神奇了!
- iOS 设置系统音量和监听系统音量变化
- 基于visual Studio2013解决面试题之0307最后谁剩下
- 【2016年第2期】专题导读:大数据与社会治理
- Go 面试专题 | slice 扩容后的内存容量如何计算?
- oracle 01102 两实例,ORA 01102
- .net连接mysql中文乱码问题的解决
- bzoj1814: Ural 1519 Formula 1 动态规划 插头dp
- 计算机应用水平测试excel,职称计算机考试Excel操作题及答案
- 二叉树层序遍历算法实现
- 声反馈(啸叫)如何避免产生和解决
- 2022-2028年中国纳米钛酸钡行业市场调查研究及投资策略研究报告
- pyserial库是python语言用于,python的pyserial模块
- 不改变像素尺寸怎么压缩图片
- EM(expection maxium)算法
- 深信服 | 2021 校招 [一面.二面.HR面]
- 盘点“PayPal黑帮”成员的传奇创业故事
- Python安装和导入cv库
- find的用法(完整)
热门文章
- android中转换content://media/external/images/media/539163为/storage/emulated/0/DCIM/Camera/IMG_20160807_
- Python-pathlib 库的 Path 用法
- TCP/IP协议族 总结
- 织梦dedecms 忘记管理员后台密码的解决技巧
- STM32 的核心Cortex-M3 处理器
- 电子计算机的四个名称,文件夹,文件夹名称唯美四个
- 学会使用debug模式调试代码
- 深度学习还没入门?看看深度学习三巨头的Deep Learning综述(1)
- Windows XP Service Pack 3 (Windows XP SP3)简体中文版本正式发布(附下载地址)
- 写论文CAJ如何提取文字?