1个字节的数据的取值范围为什么是-128到127

sunshine8225 2012-01-05 11:35:52
数据的取值范围是怎么算的啊?跟计算机如何存数有关系吗,比如说什么形式存储?再弱弱的问一句,怎么给自己满意的答案加分?
...全文
5797 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈哈静 2013-04-13
  • 打赏
  • 举报
回复
讲的很清楚啊
xianwangkai 2013-04-13
  • 打赏
  • 举报
回复
引用 5 楼 ldh911 的回复:
引用 2 楼 sunshine8225 的回复:就是哦,可以理解,但是怎么算的呢。。。。 建议你baidu下“补码”,就会比较清楚了,第一位是符号位。 00000000 => 0 11111111 => -1 10000000 => -128 01111111 => 127 ◎ 负数的补码 负数的补码是对其原码逐位取反,但符号位除外;然后整个数加……
这个说的很清楚了!
taonaqunying 2012-11-10
  • 打赏
  • 举报
回复
本来是-0到-127,+0到+127.因为0出现了两次,+0当然就是0了,而-0,我们就用他的补码值来替代了。-0的补码就是-128.反正我是这样理解的。
Iris_Zhou 2012-05-07
  • 打赏
  • 举报
回复
长见识了~~~~~~~~~~~

-128 原码: 1 1000 0000 (最前面的1代表负,这里符号位不再是最高位)
对原码按位取反,符号位不变: 1 0111 1111
再加1: 1 1000 0000 => 我们可以认为 1000 0000 就是 -128

Neetgo 2012-01-08
  • 打赏
  • 举报
回复
怎么给自己满意的答案加分?

----------

在回复的帖子的下面,有“结贴”的按钮,点击一下,会跳转到“结贴”页面,每个帖子旁边都有一个输入分数的小文本框,在你认为是满意答复的帖子对应的小文本框中输入你要给的分数,点击“结贴”就行了。还有不明白的查找一下CSDN帮助。
MiceRice 2012-01-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sunshine8225 的回复:]
就是哦,可以理解,但是怎么算的呢。。。。
[/Quote]

建议你baidu下“补码”,就会比较清楚了,第一位是符号位。
00000000 => 0
11111111 => -1
10000000 => -128
01111111 => 127


◎ 负数的补码
  负数的补码是对其原码逐位取反,但符号位除外;然后整个数加1。
  同一个数字在不同的补码表示形式里头,是不同的。比方说-15的补码,在8位2进制里头是11110001,然而在16位2进制补码表示的情况下,就成了1111111111110001。在这篇补码概述里头涉及的补码转换默认了把一个数转换成8位2进制的补码形式,每一种补码表示形式都只能表示有限的数字。
  【例2】求-7的补码。
  因为给定数是负数,则符号位为“1”。
  后七位:-7的原码(10000111)→按位取反(11111000)(负数符号位不变)→加1(11111001)
  所以-7的补码是11111001。
  已知一个数的补码,求原码的操作分两种情况:
  (1)如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
  (2)如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
  再举一个例子:求-64的补码
  +64:01000000
  11000000
  【例3】已知一个补码为11111001,则原码是10000111(-7)。
  因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。
  其余七位1111001取反后为0000110;
  再加1,所以是10000111。
sunshine8225 2012-01-07
  • 打赏
  • 举报
回复
求详细算的过程。。。。
zxt12300 2012-01-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ldh911 的回复:]
因为有0的存在。

-1~-128 总计 128 个数字
1~127 总计 127 个数字
最后加上0
全部 256 个数字

1个字节,也就是8个byte,所能表示的最大信息量就是2^8,恰好也就是256。


关于你的其它问题,建议你baidu下“补码”,就会比较清楚了。
[/Quote]


貌似应该是:“1个字节,也就是8个bit”,哈哈~~~~
MiceRice 2012-01-06
  • 打赏
  • 举报
回复
因为有0的存在。

-1~-128 总计 128 个数字
1~127 总计 127 个数字
最后加上0
全部 256 个数字

1个字节,也就是8个byte,所能表示的最大信息量就是2^8,恰好也就是256。


关于你的其它问题,建议你baidu下“补码”,就会比较清楚了。
铁匠梁 2012-01-06
  • 打赏
  • 举报
回复
8位 2的8次方
sunshine8225 2012-01-06
  • 打赏
  • 举报
回复
就是哦,可以理解,但是怎么算的呢。。。。
版本:presto-server-0.214.tar软件版本 presto-cli-0.214-executableCentOS71、presto的起因 hadoop ---hdfs----MR(java)-----hivehive底层原理用MR,速度比较慢,公司hadoop集群主要集中于晚上到凌晨,平日工作时间负载不是很高。但在工作时间内,公司业务人员有实时查询的需求,现在主要借助于hive提供业务人员的查询。hive是基于MR类的SQL查询工具,他会输入的查询SQL解析为MapReduce,能极大的降低使用大数据门槛,让一般的业务人员可以直接准对大数据进行查询,但是有一个利弊,它的查询基于MR,会让人等待比较着急,等待的时间可能是几个小时或者一天。 spark基于内存提高改良的hive,sql,现在factbook在hive上面开发一套利器,准对hive可以通过sql语句快速查询,presto。2、Facebook为何开发Presto  Facebook的2011的数据仓库存储在少量大型hadoopfs集群,Hive是FaceBook在几年前专门为Hadoop打造的一款数据仓库工具,在以前,facebook的科学家和分析师一直靠hive进行数据分析.但hive使用MR作为底层计算框架,是专为批处理设计的,但是随着数据的不断增多,使用hive进行一个简单的数据查询可能要花费分钟或者几个小时,显然不能满足查询需求,FaceBooke也调研了其他比hive更快的工具,但是他们需要在功能有限的条件下做简单操作,以至于无法操作Facebook庞大的数据要求。2012年开始研究自己的框架--presto,每日可以超过1pb查询,而且速度比较快,faceBook声称Presto的性能比hive要好上10倍或者100倍,presto和hive都是facebook开发的 Presto是一个开源的分布式SQL查询引擎,适用于交互式查询,数据量支持GB到PB字节。Presto的设计和编写完全是为了解决Facebook这样规模的商业数据仓库交互式分析和处理速度的问题Presto可以做什么 Presto支持在线数据查询,包括Hive kafka Cassandra关系数据库以及专门数据存储,一条Presto查询可以将多个数据源进行合并,可以跨越整个组织进行分析。Presto以分析师的需求作为目标,他们期望相应速度小于1秒到几分钟,Presto要么在使用速度的快的昂贵的商业方案,提高内存,要么是消耗大量的硬件进行快速查询。(128G 64G)本套课程教给如何在企业环境中使用Presto技术。

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧