`

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

    博客分类:
  • java
 
阅读更多

java中为什么byte的取值范围是-128到+127
http://bbs.itheima.com/thread-136511-1-1.html
(出处: 黑马程序员IT技术论坛)

概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数。
正数补码为其本身;
负数补码为其绝对值各位取反加1;
例如:
+21,其二进制表示形式是00010101,则其补码同样为00010101
-21,按照概念其绝对值为00010101,各位取反为11101010,再加1为11101011,即-21的二进制表示形式为11101011

步骤:
1、byte为一字节8位,最高位是符号位,即最大值是01111111,因正数的补码是其本身,即此正数为01111111
十进制表示形式为127
2、最大正数是01111111,那么最小负是10000000(最大的负数是11111111,即-1)
3、10000000是最小负数的补码表示形式,我们把补码计算步骤倒过来就即可。10000000减1得01111111然后取反10000000
因为负数的补码是其绝对值取反,即10000000为最小负数的绝对值,而10000000的十进制表示是128,所以最小负数是-128
4、由此可以得出byte的取值范围是-128到+127
5、说明:各个类型取值范围的计算方法与此大致相同,感兴趣的同学可以自己试着计算

补充(给非计算机专业的同学扫下盲):
在计算机内,定点数有3种表示法:原码、反码和补码
[原码]就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
[反码]表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
[补码]表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

分享到:
评论

相关推荐

    java中基本数据类型的取值范围

    * Byte:8 位带符号整数,取值范围为 -128 到 127 之间的任意整数。 * Short:16 位无符号整数,取值范围为 -32768 到 32767 之间的任意整数。 * Int:32 位带符号整数,取值范围为 -2^31 到 2^31-1 之间的任意整数...

    Java中八种基本数据类型和八种封装数据类型[定义].pdf

    1. byte:字节类型,占用 1 个字节,取值范围为 -128 到 127。 2. short:短整型,占用 2 个字节,取值范围为 -32768 到 32767。 3. int:整型,占用 4 个字节,取值范围为 -2147483648 到 2147483647。 4. long:长...

    java byte相互转换详解左右位移

    在Java中,byte是一个8位的有符号整型数据,它的取值范围是-128到127。int是一个32位的有符号整型数据,取值范围是-2,147,483,648到2,147,483,647。由于byte与int的数据位数不同,转换时需要进行特定的处理。 **...

    java 数据类型有哪些取值范围多少

    1. byte:字节类型,取值范围是-128到127,占用一个字节。它是最小的数据类型,通常用于原始数据的占位符。 2. short:短整型,取值范围是-32768到32767,占用两个字节。它适用于需要较小数值范围的场景。 3. int:...

    【IT十八掌徐培成】Java基础第04天-01.作业讲解-byte范围变换-二进制格式输出-三维数组横向打印.zip

    在Java中,`byte`是基本数据类型之一,它的取值范围是-128到127。在处理二进制数据时,我们经常需要将`byte`类型的数值转换为其他数据类型,如`int`、`short`或`char`。理解这些类型之间的转换规则至关重要,避免...

    GitHub 上标星 115k+ 的 Java 教程.pdf

    * byte 占用 1 个字节,取值范围为 -128 到 127 * char 占用 2 个字节,取值范围为 0 到 65535 * short 占用 2 个字节,取值范围为 -32768 到 32767 * int 占用 4 个字节,取值范围为 -2147483648 到 2147483647 * ...

    Java数据类型练习.doc

    * byte:8 位整数,取值范围为 -128 到 127。 * short:16 位整数,取值范围为 -32768 到 32767。 * int:32 位整数,取值范围为 -2147483648 到 2147483647。 * long:64 位整数,取值范围为 -9223372036854775808 ...

    Java复习+导包(Scanner+Random)

    * 字节型(byte):占用1个字节,取值范围为-128到127。 * 短整型(short):占用2个字节,取值范围为-32768到32767。 * 整型(int):占用4个字节,取值范围为-2147483648到2147483647。 * 长整型(long):占用8个...

    mybatis逆向工具generator,中文注释,Byte改Integer

    `Byte`占用一个字节(8位),取值范围为-128到127,而`Integer`则占用四个字节(32位),取值范围大大扩展至-2^31到2^31-1。在实际开发中,如果数据库字段的数值范围远超`Byte`的承载能力,选择`Integer`会更为合适...

    C#和java数据类型的等价类型

    * byte:C#中的 byte 类型对应Java中的 byte 类型,都是无符号整数,取值范围为 0 到 255。 * short:C#中的 short 类型对应Java中的 short 类型,都是有符号整数,取值范围为 -32768 到 32767。 * int:C#中的 int ...

    java基本类型数据

    - `byte`:8位有符号整数,取值范围为-128到127。 - `short`:16位有符号整数,取值范围为-32768到32767。 - `int`:32位有符号整数,是最常用的基本整型,取值范围为-2^31到2^31-1。 - `long`:64位有符号整数...

    【IT十八掌徐培成】Java基础第02天-02.字节-负数表示-补码-128计算.zip

    在Java中,字节类型用`byte`关键字表示,其取值范围是-128到127。 接下来,我们探讨负数的表示方式。在二进制系统中,负数的表示方法不同于十进制。我们使用的是“补码”表示法。补码是一种在二进制系统中表示负数...

    JAVA程序设计课件-变量的数据类型.pptx

    例如,byte占用1字节,取值范围是-128到127;short占用2字节,取值范围是-32768到32767;int占用4字节,取值范围是-2^31到2^31-1;而long占用8字节,取值范围是-2^63到2^63-1。在为long类型变量赋值时,通常需要在...

    面试---1. Java&设计模式.pdf

    - byte:取值范围为-128到127。 - short:取值范围为-32768到32767。 - int:取值范围为-2147483648到2147483647。 - long:取值范围为-9223372036854774808到9223372036854774807。 - **浮点型**:float(4字节)...

    java的八大基础数据类型

    byte 属于 Java 中的整型,长度为 1 字节(8bit),取值范围为 -128 到 127,变量初始化默认值为 0。包装类为 Byte。 2. short short 属于 Java 中的整型,长度为 2 字节(16bit),取值范围为 -32768 到 32767,...

    重难点之java基本类型.pdf

    - `byte`占用8位,取值范围是-128到127。 - `short`占用16位,取值范围是-32,768到32,767。 - `int`占用32位,取值范围是-2^31到2^31-1。 - `long`占用64位,取值范围是-2^63到2^63-1。 - **浮点类型**:`float...

    Java逻辑基础题1-数据类型和运算符-答案.docx

    * byte:整数类型,占用 1 字节,取值范围 -128 到 127。 * short:整数类型,占用 2 字节,取值范围 -32768 到 32767。 * int:整数类型,占用 4 字节,取值范围 -2147483648 到 2147483647。 * long:整数类型,...

    Java课件--java基础知识(一)

    byte最小,占用1个字节,取值范围是-128到127;short占用2个字节,取值范围是-32768到32767;int是最常用的整数类型,占用4个字节,取值范围是-2^31到2^31-1;long是最大的整数类型,占用8个字节,取值范围是-2^63到...

    JAVA-练习题第2章(ppt文档).pptx

    每种类型都有其取值范围,例如byte类型的取值范围是-128~127,boolean类型的取值范围是真或假等。 3. 变量声明:在Java语言中,变量需要声明其数据类型,例如int x;或者float y;。在声明变量时,可以同时赋值,...

    Java电子教案 第二章

    - `byte`:占用1字节,取值范围是-128到127。 - `short`:占用2字节,取值范围是-32768到32767。 - `int`:默认的整数类型,占用4字节,取值范围是-2^31到2^31-1。 - `long`:占用8字节,取值范围是-2^63到2^63-...

Global site tag (gtag.js) - Google Analytics