`
keml
  • 浏览: 12897 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

java 反码.

 
阅读更多
比如说你写12,默认的就是int的12
int是32位的
 12=00000000 00000000 00000000 00001100
~12=11111111 11111111 11111111 11110011

第二个问题,有符号整数是按照最高位判断正负的(java中的数值除了char都是有符号的,都符合这个规则),如果x最高位是1,那么该数是负数,其值为 -((~x)+1),因此
11111111 11111111 11111111 11111111作为int型的话,因为最高位为1,所以其值为 -(0+1)=-1

根据上面的理论,~12=-(~(~12)+1)=-13

- - -  - - - - - - - - - - - - - - - - -  - - - -  - - - -  - -  - - - -  - - -  - - - - -  - - - -


反码是将其2进制数每一位按位取反。
即1改为0,0改为1.

补码则不同。
正数的补码是其源码本身
负数的补码是其除符号位以外其他每一位按位取反再加一,符号位不变。
例如:
10进制数11:
源码:00001011;
反码:11110100;
补码:00001011;
十进制数-11:
源码:10001011;
反码:01110100;
补码:11110101
分享到:
评论

相关推荐

    JAVA中原码反码补码详细介绍

    详细介绍JAVA中原码,补码,反码的概念,对于初学者有较好的帮助。

    JAVA基础补充(0)-原码反码补码.doc

    总之,原码、反码和补码是计算机科学的基础概念,对于Java程序员来说,深入理解这些概念有助于编写更高效、更可靠的代码,特别是在处理位操作和数值溢出时。通过掌握这些知识,可以更好地应对各种编程挑战。

    JAVA基础.docx

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发中占据主导地位。了解Java的基础是成为熟练Java开发者的第一步。以下是一些关于Java基础知识的重要点: 1. **基本数据类型与赋值**: Java有八种基本数据...

    CoreJava全套详细笔记资料.pdf

    CoreJava全套详细笔记资料.pdf CoreJava是Java编程语言的核心部分,涵盖了Java语言的基础知识和高级应用。以下是对给定文件的详细解读和知识点总结: 一、原码、反码、补码 * 原码是指一个数的二进制表示形式,...

    java原码补码反码关系解析

    Java原码、补码、反码关系解析 Java语言中,原码、补码、反码是三个重要的概念,它们之间存在着紧密的关系。本文将详细介绍Java原码、补码、反码的关系,并提供实例代码进行解释。 一、原码 原码是指将数字转换...

    为什么需要反码和补码?.docx

    在计算机科学中,二进制编码是数据存储和计算的基础。特别是在处理整数时,我们需要了解几种不同的编码...在Java和其他编程语言中,这些底层的计算原理虽然通常被抽象掉,但理解它们有助于深入理解计算机如何处理数值。

    原补反码的知识.txt

    一些关于原补反码的奇怪只是 很简单 也很容易看懂 就是关于计算权重我不是很会解释 就写了一点 我自己是能看懂 就是n的m减一次方 这个应该挺好懂的

    计算机中的原码、反码和补码

    在深入探讨计算机中表示有符号整数的原码、反码和补码之前,让我们先回顾一下计算机存储数据的基本单位——字节。正如文中所述,一个字节由8位组成,每位可以是0或1,因此一个字节可以表示\(2^8 = 256\)种不同的状态...

    2021年JAVA学习笔记.doc

    * 反码:正数反码是原码自身,负数反码是符号位不变,其她各位按原码取反 * 补码:正数补码是原码自身,负数补码是符号位不变,其她各位取反加1 * 计算机采用补码进行数据解决 * 按位与、按位或、按位异或、按位取反...

    java泛型Demo

    Java泛型是Java编程语言中的一个关键特性,它在2004年随着JDK 5.0的发布被引入。泛型的主要目的是提供类型安全,帮助程序员在编译时发现可能的类型错误,同时也提供了更好的代码重用。在这个"java泛型Demo"中,我们...

    补码反码转换工具源码.zip

    在实际编程中,这个工具可能会使用C、C++、Java、Python等编程语言实现。例如,如果是用Python,代码可能包含`bin()`和`int()`函数来处理二进制字符串和整数的相互转换,以及位运算符如`~`和`+`来实现补码和反码的...

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

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

    java基础,进制转换.pdf

    - JDK安装:在运行Java程序之前,需要在计算机上安装Java开发工具包(JDK)。 - 环境配置:安装JDK后,需要设置环境变量以便在命令行中使用javac.exe命令。环境变量path中应包含JDK的bin目录路径,以确保系统能够...

    尚硅谷java 2019练习.zip

    尚硅谷java 2019练习JAVA学习目录day01_JAVA语言概述与基本语法标识符、变量分类、源码_反码_补码、认知转换、编码与字符集day02_基本.运算符算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符...

    java.pdf

    在Java中,正数和负数的表示采用了二进制的补码形式,其中最高位作为符号位,正数的原码、反码和补码相同,负数的反码是除了符号位外的所有位按位取反,补码是反码加1。 数组是Java中存储固定数量元素的数据结构。...

    16位反码求和校验和生成小工具

    反码求和校验和生成小工具 ,输入数据请16进制输入,空格间隔,源码请自行reflector,未做保护

    原码、反码、补码小程序的设计与实现.zip

    在实现这个小程序时,可以使用编程语言如Python、Java或C++。关键在于理解和正确实现二进制位操作,如按位取反(~)、按位或(|)、按位与(&)和左移()等。此外,需要注意溢出处理,确保在进行二进制加法时不会...

    Java基础-标识符、关键字、数据类型练习题.doc

    * 负数的补码是其反码加1。 例如,数据的源码为`10100110`,其补码是`11011010`。 4. 数字类型的选择 在Java语言中,有六种基本数据类型可以表示数字,分别是: * 字节型(byte) * 短整型(short) * 整型(int...

    java位运算符.pdf

    例如,-42的补码表示是先取42的反码(00101010 -> 11010101),再加1(11010101 + 1 -> 11010110),所以-42的二进制表示是11010110。负数的最高位(符号位)为1,正数为0。 位逻辑运算符包括: 1. **按位非(NOT)...

    java笔记,记笔avaj

    Java是一种开源的编程语言,其最大的...理解不同进制之间的转换以及原码、反码、补码的概念对理解计算机内部存储数值的方式非常重要。小数常量可以是浮点数或双精度数,它们在内存中以二进制表示,可能会导致精度损失。

Global site tag (gtag.js) - Google Analytics