概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ,然 后 对 整个数 加 1

步骤:

1.确定byte是1个字节,也就是8位

2.最大的应该是0111 1111,因为第一位是符号位,0表示正数

3.最小的应该是1000 0000,同理,表示负数最小的(1111 1111是最大的负数-1)

4.0111 1111即127

5.1000 0000按照最下面的解释为先减一,得到0111 1111,然后按位取反得到1000 0000,该结果为欲求负数的绝对值,所以结果是-128(和概念反着来求出该负数)

=========================================================

在计算机内,定点数有3种表示法:原码、反码和补码

[原码]就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

[反码]表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

[补码]表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

====================================================

3.4.1 补 码

Java使 用 补 码 来 表 示 二 进 制 数 ,在 补 码 表 示 中 ,最 高 位 为符号 位 ,正 数 的 符 号 位 为 0,负 数 为 1。 补 码 的 规 定 如 下 :

对 正 数 来 说 ,最 高 位 为 0,其 余 各 位 代 表 数 值 本 身 (以 二 进制表 示 ),如 +42的补 码 为 00101010。

对 负 数 而 言 ,把 该 数 绝 对 值 的 补 码 按 位 取 反 ,然 后 对 整个数 加 1,即 得 该 数的 补 码 。 如 -42的 补 码 为 11010110 (00101010 按位 取 反 11010101 +1=11010110 )

用 补 码 来 表 示 数 ,0的 补 码 是 唯 一 的 ,都 为 00000000。 (而 在原码 ,反 码 表 示中 ,+0和 -0的 表 示 是 不 唯 一 的 ,可 参 见 相 应 的书 籍 )。 而 且 可 以用 111111表 示 -1的 补 码 (这 也 是 补 码 与 原 码和 反 码 的 区 别 )。

java byte 正数最大_为什么Java byte 类型的取值范围是-128~127相关推荐

  1. java byte 正数最大_关于JAVA中Byte类型的取值范围的推论(*零为正数,-128在计算机中的表示方法...)...

    先看一段推理 +124:0111 1100 -124:1000 0100 +125:0111 1101 -125:1000 0011 +126:0111 1110 -126:1000 0010 +12 ...

  2. Java中byte类型的取值范围

    取值范围为-128~127 1.为什么是[-128,127]   计算机中存储最大的应该是0111 1111,第一位是符号位,所以表示最大的数值:127   存储的1 1111111应该是最小的数值: ...

  3. java当数值超过byte时_【Java学习重难点记录】byte数据类型在显式类型转换时超出其取值范围的转换过程...

    写在前面 本文章转载于我的个人blog UltraFisher,欢迎大家浏览: https://ultrafisher.github.io 原文链接:https://ultrafisher.githu ...

  4. java中 byte 取值范围_java中为什么byte的取值范围是-128到+127

    概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为"0"表示正数,最高位为"1"表示负数. 正数补码为其本身: 负数补码为其绝对值各位取反加1: ...

  5. java编程基础码_【Java编程的逻辑】编程基础

    数据类型和变量 数据类型用于对数据归类,以便于理解和操做. - 整数类型:byte/short/int/long, 分别有不一样的取值范围 - 小数类型:float/double,有不一样的取值范围和 ...

  6. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  7. 关于java中int类型的取值范围等问题

    java中int类型取值范围问题 java中int的类型占4个字节,与操作系统无关,要弄明白int的取值范围问题. 首先,我们来看一下byte的取值范围 byte 大小一个字节. 如:1111 111 ...

  8. 为什么Java中float类型的取值范围大于long类型

    在学习Java的过程中,我遇到了一个很有意思的问题,就是为什么Java中float类型的取值范围会大于long类型. 类型名 大小/字节 取值范围 float 4(32bit) -3.4E+38 ~ ...

  9. Java基础题37:(单选题)java中char类型的取值范围是() A.0 ... 32767 B.0 ... 65535

    37.(单选题)java中char类型的取值范围是() A.0 - 32767 B.0 - 65535 C.–256 - 255 D.–32768 - 32767 [正确答案]B [答案解析]在jav ...

最新文章

  1. POJ 2718 Smallest Difference 贪心构造
  2. linux 定位 踩内存_运维必备的问题定位工具及案例分析
  3. Android 项目框架
  4. 云网络十年:探路者阿里云的理想和坚持
  5. 转化关系模型外键_网站数据分析:流量运营分析模型拯救你的广告流量
  6. idea忽略文件不提交git_你可能会忽略的 Git 提交规范
  7. 题目1471: A+B without carry
  8. mysql systemctl开机启动_Linux 开机启动项命令:chkconfig 和 systemctl
  9. SSL的4阶段握手过程
  10. 自定义scrollview右侧的滑动条
  11. 循环结构程序设计学习心得
  12. javascript将数字转换成大写
  13. 无法安装冰点还原_教程|有备有还,再备不难,如何实现整机还原?
  14. 管家婆辉煌Ⅱ TOP 突破系统每年只能做11次12次月结存限制
  15. JAVA面试基础知识整理
  16. 标准SPI,Dual SPI和Qual SPI
  17. scipy.optimize.minimize 的优化算法(1): Nelder–Mead Simplex
  18. 天基实业理财要学会变通
  19. 电源学习-DCDC电源分类
  20. c语言求矩阵特征值的程序,如何用C语言编写求对称矩阵的特征值和特征向量的程序编写对称矩阵的特征值和特征向量,其中矩阵用二维数组保存.特征向量要求有大到小放到数组里....

热门文章

  1. c++ -DNDEBUG openMP优化
  2. 组播路由协议基础——组播分发树
  3. linux mysql 二进制包_mysql5.7 二进制包安装
  4. php 安装curl init,linux下为php添加curl扩展的方法及curl_init函数用法案例详解
  5. win7系统连接2003服务器时快时慢,win7/win8/win10访问Windows2003和XP共享慢的解决方法【图文教程】...
  6. vue中解决Uncaught ReferenceError: regeneratorRuntime is not defined问题
  7. maven配置阿里云仓库镜像
  8. c++人脸特征保存到本地_尚邦小规模人脸识别布控系统
  9. macOS Sierra 10.12虚拟机安装
  10. Nginx之Location命中URI规则