关于为什么10000000可以表示-128
对于这个问题相信很多朋友学习计算机数补码表示的时候都遇到过,这个问题的解释我通过查找资料发现了两种比较让我容易理解的答案.
①:补码即同余,八位二进制可以表示0-255,共256个数,故模为256。现需表示一部分负数,所以需要占用一部分数。需要表示的数可以以256为模取余,按余数相同分类,例如-1与255同为余255类,0与256同为余0类。用同类的正数来表示同类的负数,这就是取补码的本质。可知 -128与128同为余128类,1000 0000为128,所以可以用来表示-128。
(参考知乎用户的回答,原文链接:https://www.zhihu.com/question/28685048)
②:计算机计数系统分为两种:二进制补码计数和余码计数。
其中补码计数模式的计数原理为:若计正数,所有计数位清0后开始正向计数,直到所有位中,只有一位为0,其余位都为1时停止计数。若计负数,所有位置1后开始反向计数,直到所有位中,只有一位为1,其余位都为0时停止计数。
则由上述可知,若要计负数时从1111 1111开始计数直到计到1000 0000时停止计数,此时表示的数为128,故其表示-128。 若计正数,从0000 0000 开始计数,计到0111 1111时停止计数,此时可以表示的最大正数为+127。所以八位二进制数可以表示的范围为+127~-128。
(参考《计算机科学概论》)
关于为什么10000000可以表示-128相关推荐
- 现代计算机内补码是多少进制,二进制:关于10000000如何表示-128的问题
对的,有符号数 最高位是符号位.于是,计算机里 +0 和 -0 编码是不一样的.计算机里负数用补码表示,为的是减法可以用加法器执行. 10000000 那个1是表示负数,但整个值是 -128,这是特殊 ...
- 定义变量byte a = (byte)128输出a的结果
(byte)128输出的结果为什么是-128? ** 例: 定义变量byte a = (byte)128输出a结果为(B) A.128 B.-128 C.0 D.-127** ** 解析: 在JAVA ...
- 浅谈 -128的原码 反码 补码
以java中byte表示:2字节 8位,-128 首先首位1表示负数,128的正数为1000 0000(其实是-128),然后拼接为1 1000 0000,大于8位,则取低8位,为1000 0000, ...
- IEEE-754标准(32位) 十六进制转换十进制浮点数
因实验需要,读取陀螺仪的数据是16进制的数据,需要将该数据转化为10进制方便自己查看,理解.记录如下: 1.将(32位)16进制IEEE-754标准浮点数就是用十六进制表示浮点,称为单精度浮点数. f ...
- linux db2乱码,DB2乱码(开始和结束,字符串中间没有好的办法)
针对汉字乱码 末尾乱码:末尾第二个字节的ASCII的值大于224 或 末尾第一个字节的ASCII的值大于224 去掉办法:case when length(colname)>1 and asci ...
- lua 区间比较_Lua(模糊查找):判断两个字符串(含中文)是否存在至少一个相同
用过Lua的,应该知道lua有一个截取字符串的接口,string.sub(s,i,j),就是截取字符串s,从第i个字符到第j个字符的字串,这里的一个字符是一个字节,对于英文字母还是阿拉伯数学,不管是u ...
- Java Byte取值范围
Java Byte 的取值范围大家都知道(-128 ~ 127),那么-128 和 127 这两个数是怎么计算的呢? #大学知识回顾: 概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ...
- 二:java语法基础:
1,关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词. 2,标示符:Java中的包.类.方法.参数和变量的名字,可由任意顺序的大小写字母. ...
- 计算机中的补码和反码都是二进制吗,计算机中数值型数据二进制形式存储过程中的原码,反码与补码...
在计算机系统中,数值一律用补码来表示和存储.原因在于,使用补码,可以将符号位和数值域统一处理:同时,加法和减法也可以统一处理.此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路. 举个 ...
- byte java byte_详解java中的byte类型
Java中整数类型有:byte占8位, short 占16位, int占32位, long占64位 Java也提供了一个byte数据类型,并且是基本类型中的整数类型.java byte是作为最小的数字 ...
最新文章
- 二叉排序树(BST)构造与应用
- 什么是 PureMVC 框架(提供下载)
- 数据中心网络组网的不同方案
- leetcode 62 不同路径
- linux升级openssh8.2,openssh7更换升级位8.2版本过程
- python装饰器作用噜咕_浅谈python中的装饰器
- 常见的windows蓝屏代码查询及处理
- 浅学DSP原理及应用
- idea2018破解码
- 播布客里小布老师的所有视频收集
- vue中进度条写法_Vue进度条progressbar组件功能
- 一个优秀的UI界面应该是什么样的
- android图片分辨率改变,Android实现改变一个图片的像素值
- ​争夺00后社交,QQ、B站、快手谁能赢?
- bootstrap中固定table的表头
- thinker board s debian系统安装配置
- position:absolute详解
- tcpdump manual 中文翻译
- string和char*互相转换
- 26. 编写函数:删除一个字符串中的所有空格。