`
xiemingmei
  • 浏览: 210138 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java负数存储方式

阅读更多
正数的原码、反码、补码是相同的。

负数的原码是去掉最高的符号位的其他位, 后面的位取反为反码,反码+1后为补码。

算法为: 负数的绝对值(原码)= 取反(补码-1)。

java中以int为例来实现算法:


int i = -63;
System.out.println(Integer.toHexString(i));
//算法在这里:
System.out.println("-"  + (( ~( i & 0x7FFFFFFF-1) ) & 0x7FFFFFFF  ));


输出为:
ffffffc1
-63





分享到:
评论

相关推荐

    java 进制转换,二进制 十进制 十六进制 正数 负数的进制等等!.docx

    在编程领域,尤其是在Java语言中,进制转换是一项基本的操作...无论是进行数值计算、存储还是数据传输,进制转换都起着关键作用。在Java中,这些转换操作简单易用,使得开发人员能够灵活地在各种进制系统之间进行转换。

    Java的变量存储

    A Java 内部只有二进制补码 B Java 内部采用补码运算, 自动发送上溢出和下溢出 C Java内部没有10进制! 但是Java尽量按照人类习惯输入输出 D 补码的负数 最高位是 1, 也称作符号位

    负数的二进制算法.doc

    它可以帮助我们更好地理解计算机是如何存储和处理负数的。下面是关于负数的二进制算法的详细知识点: 一、正数的二进制表示形式 在计算机科学中,正数的二进制表示形式的第一位数字为 0。这是因为计算机使用二进制...

    图书库存管理系统,java小项目

    - **Hibernate ORM**:Hibernate是Java中流行的持久化框架,用于处理数据库操作,提供对象-关系映射功能,使得开发者可以使用面向对象的方式来操作数据库。 2. **MSSQL数据库**:Microsoft SQL Server是一款功能...

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

    在这个Java基础教程中,"徐培成"老师将引导我们深入理解字节、负数表示以及补码的概念,特别是针对128的计算。这些知识点是理解和处理计算机内部数据表示的基础。 首先,我们来谈谈“字节”。在计算机科学中,字节...

    java基础总结大全(笔记).pdf

    - 原码、反码和补码是表示有符号数据的方式,主要用于计算机内部存储和处理负数。 11. 函数定义: - 函数是一段具有特定功能的独立代码,可以提高代码的复用性。 - 如果函数没有返回值,可以用void表示,return...

    Java计算数学表达式代码详解

    Java计算数学表达式的核心是将输入的字符串表达式转换为后缀表达式(逆波兰表示法),然后通过栈数据结构来计算表达式的值。这里,我们有两个关键的类:`Calculator`和`ArithHelperCalculator`,不过在提供的代码中...

    java基础,进制转换.pdf

    3. Java数据类型及存储 - 二进制存储:计算机中所有数据都是以二进制形式存储的。 - 数据类型概念:数据类型是指在内存中存储数据的规则,包括数据的长度和数值的正负。 - 基本数据类型:Java中定义了八种基本...

    基于GUI的Java课程设计

    这涉及到对输入值的解析(可能包含小数点)、存储(可能使用StringBuilder或String对象)以及四则运算的实现。对于除法,还需要处理除数为零的情况。 4. **错误处理**:在进行数学运算时,可能出现非法输入,如连续...

    test2_JavaDouble类型比较大小_java编程_

    在Java编程中,Double类型的数值比较是一个常见的操作,但与我们通常处理整数或浮点数的方式略有不同。本文将详细探讨如何正确地比较Java中的Double类型数值。 首先,了解`Double`类型在Java中的定义至关重要。`...

    关于java应用cookie

    若为负数则表示Cookie将一直保存在客户端,直到被手动删除或过期。 ##### 2. 添加Cookie到响应中 创建了Cookie之后,需要将其添加到HTTP响应中,以便客户端能够接收到这些Cookie信息。 ```java response.addCookie...

    解决时间戳long转换int溢出(即转换值为负数) long转int

    如果你确实需要毫秒级别的int时间戳,你可能需要寻找其他的数据结构或编码方式来存储和处理这些数据,或者保持时间戳为long类型。 总之,处理时间戳时要注意数据类型的限制,避免溢出问题。在转换之前确认数值范围...

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

    在Java中,基本数据类型byte与int之间的相互转换涉及到计算机的二进制运算、位移操作以及补码的概念。我们首先了解Java中int和byte的数据结构,然后探讨它们之间的转换方法及其背后的原理。 **基本数据类型结构:**...

    尚硅谷Java基础实战——Bank项目下载地址

    5. 集合框架:ArrayList、LinkedList、HashMap等是Java集合框架的一部分,它们用于存储和管理对象。在Bank项目中,可以使用集合来存储多个账户或客户信息,便于管理和查找。 6. IO流:Java的IO流用于读写数据。在...

    java 课程设计 java制作计算器

    这需要进一步的代码实现,包括对非负数输入的检查,以避免计算负数的平方根时出现错误。 ### 总结 构建Java Applet环境下的计算器涉及多个方面:理解Applet生命周期、组件布局、事件处理和数学计算。虽然Applet...

    java控制台接收源代码

    throw new IllegalArgumentException("月薪不能为负数!"); } System.out.println("姓名:" + name + " 性别:" + sex + " 年龄:" + age + " 月薪:" + salary); } catch (InputMismatchException e) { ...

    Java面试宝典.pdf

    - char类型变量可以存储一个中文汉字,但是这取决于字符编码方式,如UTF-16。 - 最有效率计算2乘以8的方法是使用位移操作,即2 。 - final关键字修饰的变量引用不能变,引用的对象内容可以改变。 - == 比较的是两个...

    java十进制转换二进制

    通过对程序逻辑的逐步分析,我们不仅学习了基本的转换过程,还深入了解了负数在计算机中的补码表示方式。这种能力对于理解和开发与数据处理相关的应用程序至关重要。希望本文能对正在学习或使用Java编程语言的开发者...

    2013 java面试大典

    7. **char变量与中文字符**:char类型可以存储Unicode字符,因此可以存储中文汉字,但需要两个字节。 8. **高效计算2乘以8**:最简单直接的方式是`2 ,利用位移运算。 9. **设计大整数计算器**:在Java中,可以...

    JAVA中汉字字符转化为英文字符

    ### JAVA中汉字字符转化为英文字符 #### 知识点概览 本文将详细介绍如何在Java中实现汉字到英文字符的转换。此技术主要用于提取汉字的首字母或进行其他基于字符编码的操作。通过以下两个核心方法:`toTureAsciiStr`...

Global site tag (gtag.js) - Google Analytics