- 浏览: 110334 次
- 性别:
- 来自: 杭州
文章分类
最新评论
为什么Java byte 类型的取值范围是-128~127
0 00000000
1 00000001
... ........
127 01111111
----------------
共 128 个
-1 11111111
-2 11111110
... ...
-128 10000000
----------------
共 128 个
概念:负数的补码是该 数 绝 对 值 的 补 码 按 位 取 反 ,然 后 对 整个数 加 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的 补 码 (这 也 是 补 码 与 原 码和 反 码 的 区 别 )。
0 00000000
1 00000001
... ........
127 01111111
----------------
共 128 个
-1 11111111
-2 11111110
... ...
-128 10000000
----------------
共 128 个
概念:负数的补码是该 数 绝 对 值 的 补 码 按 位 取 反 ,然 后 对 整个数 加 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线程Dump分析工具--jstack(转摘纪录)
2015-10-29 10:47 853jstack用于打印出给 ... -
多角度看 Java 中的泛型
2014-05-13 15:40 735本文摘自:http://www.ibm.c ... -
java.lang.Object类 方法(转)
2014-05-13 10:55 2019Object类的方法 构造方法:public Obje ... -
web.xml之context-param,listener,filter, servlet启动顺序和讲解
2014-05-12 14:32 1001首先可以确定的一点是, 不同类型节点的加载顺序与它们在web. ... -
java对象初始化书序
2014-05-09 15:05 595package com.test.aa.service; p ... -
java.lang.ThreadLocal详解以及注意事项
2014-04-29 18:12 2542一.什么是ThreadLocal? ThreadLocal ... -
String Stringbuilder StringBuffer区别
2014-04-17 11:00 711关于这三者的区别,我们从官方API上很容易找到答案。 ... -
JAVA反射机制
2014-04-03 15:15 342JAVA反射机制: 通俗地说,反射机制就是可以把一个类, ... -
ArrayList和linkedList几种循环性能比较
2014-03-26 17:51 642请 参照 http://www.trinea.cn/andr ... -
HashMap原理
2014-03-20 15:31 557本文由 ImportNew - 唐小娟 ... -
java.lang.Cloneable
2014-03-20 11:22 605public interface Cloneable 此类实 ... -
Java集合框架学习总结
2014-03-14 16:43 736以下介绍经常使用的集合类,这里不介绍集合类的使用方法,只介绍 ... -
maven项目管理的一些知识
2014-03-04 16:24 555http://sishuok.com/forum/blogPo ... -
ehcache使用注意 及一些问题的解决
2014-02-21 17:35 866配置 1. applicationContext.xml ... -
Xms Xmx PermSize MaxPermSize 区别
2014-02-20 16:13 642Eclipse崩溃,错误提示: ... -
JAVA基础-栈与堆,static、final修饰符、内部类和Java内存分配
2014-01-17 20:00 1133堆:顺序随意 栈:后进 ... -
debug遇到找不到源码的情况解决方案
2013-12-19 18:46 773在做JAVA开发的时候 页面端调用了接口服务端 找问题需要页面 ... -
工作学习2013-11-6
2013-11-06 20:20 5281.在用maven进行项目构建的时候 可以先建立以个maven ... -
运行jtest出现 No value found for property database.type 错误解决办法
2013-06-06 11:25 1780错误信息: Caused by: org.jtester.mo ...
相关推荐
数据类型取值范围详解 在程序设计中,数据类型是指变量或表达式的分类,它决定了变量或表达式的取值范围、存储空间和参与运算的规则。不同的数据类型具有不同的取值范围和存储空间,本文将对各种数据类型的取值范围...
(byte、short、int、long) (float、double) 数组 [ ] (boolean) 基本数据类型 整型 类型名称 占用存储空间 取值范围 byte 1字节(8位) -27~-27 -1即-128~127 short 2字节(16位) -215~215 -1 int 4字节(32位) -...
* Byte:8 位带符号整数,取值范围为 -128 到 127 之间的任意整数。 * Short:16 位无符号整数,取值范围为 -32768 到 32767 之间的任意整数。 * Int:32 位带符号整数,取值范围为 -2^31 到 2^31-1 之间的任意整数...
例如,当一个byte类型的值与一个int类型的值相加时,byte类型的值会自动转换为int类型,然后执行加法运算。如果操作数中有double类型的值,则所有其他数值类型都将转换为double类型。 #### 字节与位 - 一个字节...
* byte:8 位整数,取值范围为 -128 到 127。 * short:16 位整数,取值范围为 -32768 到 32767。 * int:32 位整数,取值范围为 -2147483648 到 2147483647。 * long:64 位整数,取值范围为 -9223372036854775808 ...
Java中的`byte`类型是8位的,取值范围是-128到127。如果要将其转换为无符号的32位整数`int`,可以使用按位与操作符`&`和0xFF。`DataTypeChangeHelper`类中的`unsignedByteToInt`方法就实现了这一点: ```java ...
在Java中,byte是一个8位的有符号整型数据,它的取值范围是-128到127。int是一个32位的有符号整型数据,取值范围是-2,147,483,648到2,147,483,647。由于byte与int的数据位数不同,转换时需要进行特定的处理。 **...
在“Byte-Short-Int-Long-Java-Primitive-Types-main”这个项目中,可能包含了与这些原生类型相关的示例代码、测试和文档,供学习者更直观地理解和应用这些概念。通过分析这些文件,可以加深对Java整数类型的掌握,...
在Java编程语言中,将`byte[]`数组转换为`int`, `long`, 和 `double`类型的数据是一项常见的任务,特别是在处理二进制数据或网络通信时。以下将详细讲解如何进行这些转换,并提供相关代码示例。 1. **转换byte[]到...
每种类型都有其取值范围,例如byte类型的取值范围是-128~127,boolean类型的取值范围是真或假等。 3. 变量声明:在Java语言中,变量需要声明其数据类型,例如int x;或者float y;。在声明变量时,可以同时赋值,...
字符类型在 Java 中是 16 位的 Unicode 字符,转换成 byte 数组需要将字符类型转换成 int 类型,然后将 int 类型转换成 byte 数组。例如: ```java public static byte[] charToByteArr(char ch) { byte[] b = new...
1. byte:字节类型,取值范围是-128到127,占用一个字节。它是最小的数据类型,通常用于原始数据的占位符。 2. short:短整型,取值范围是-32768到32767,占用两个字节。它适用于需要较小数值范围的场景。 3. int:...
Java bytes数组与基本类型的相互转换 Int -> Bytes int64ToByte8 int48ToByte6 int40ToByte5 int32ToByte4 int24ToByte3 int16ToByte2 int8ToByte Bytes -> Int bytesToInt64 bytesToInt48 bytesToInt40 bytesTo...
`Byte`占用一个字节(8位),取值范围为-128到127,而`Integer`则占用四个字节(32位),取值范围大大扩展至-2^31到2^31-1。在实际开发中,如果数据库字段的数值范围远超`Byte`的承载能力,选择`Integer`会更为合适...
java的数据类型分为基本数据类型和引用数据类型。 基本数据类型分为数值型、字符型(char)、布尔型(boolean) 数值型变量 1、整数型 类型 占用存储空间 表示范围 byte 1字节Byte -128~...
* long:C#中的 long 类型对应Java中的 long 类型,都是有符号整数,取值范围为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。 三、浮点数类型 C#和Java都支持浮点数类型,包括 float 和 double 两...
首先,JAVA提供了四种整数类型:字节型(byte)、短整型(short)、整型(int)和长整型(long)。它们各自占据不同的内存空间,具有不同的取值范围。例如,byte占用1字节,取值范围是-128到127;short占用2字节,...
Java提供了四种不同的整数类型:byte、short、int和long,它们的主要区别在于存储的位数以及因此所能表示的数值范围。 首先,我们来看byte类型,它占用8位,也就是1个字节的存储空间。由于计算机的二进制表示,byte...
- `byte`:8位有符号整数,取值范围为-128到127。 - `short`:16位有符号整数,取值范围为-32768到32767。 - `int`:32位有符号整数,是最常用的基本整型,取值范围为-2^31到2^31-1。 - `long`:64位有符号整数...
Java提供了九种基本类型,包括字符型(char),布尔型(boolean),以及五种数值类型(byte, short, int, long, float, double)。这些类型是Java语言预定义的,可以直接在代码中使用,无需像引用类型那样通过实例化类来...