本文为大家解析了java原码补码反码的关系,供大家参考,具体内容如下

原码:不管源数据是十进制还是十六进制,统统将数字转成二进制形式

反码:把原码的二进制统统反过来,0变成1,1变成0

补码:负数的反码加1,就是负数的补码

例子1:

十进制整数 -5,-5的原码101,-5的反码1,010,-5的补码1,011,

所以,-5的反码是-2,-5的补码是-3,其中前面的"1,",表示正数负数

例子2:

十六进制  -ff9B

原码  11111111111110011011

反码  00000000000001100100    十进制100

补码  00000000000001100100   十进制101

原来正确的操作流程是,把16进制ff9B转成2进制,然后直接反码,再算补码,就是温度数据

代码验证:

package comtest.example.admin.znum;

/**

* Created by wrs on 2019/6/5,16:25

* projectName: Testz

* packageName: comtest.example.admin.znum

* 输入一个真值(整数)求它的原码,反码,补码

*/

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

System.out.println("True value--> original code");

System.out.println("Please enter an integer!!!!!");

Scanner sc = new Scanner(System.in);

int value = sc.nextInt();

StringBuilder syuan = new StringBuilder();

if (value > 0) {

String Bvalue = Integer.toBinaryString(value);//将一个整数转换成字符串类型的二进制数

int n = Bvalue.length(); //二进制的数字的个数n

syuan.append("0,");

syuan.append(Bvalue);

System.out.println("Original code " + syuan); //原码

System.out.println("Complement code " + syuan); //补码

System.out.println("Inverse code " + syuan); //反码

// System.out.println("二进制数的n "+n);

} else if (value < 0) {

int value2 = Math.abs(value); //负数的绝对值

int value3 = value2 - 1; //减一求反,求补码

String Bvalue = Integer.toBinaryString(value2);

String BFvalue = Integer.toBinaryString(~value2);

int n = Bvalue.length();

String str = BFvalue.substring(BFvalue.length() - n); //截取反码的后几个数

syuan.append("1,");

syuan.append(Bvalue);

System.out.println("Original code is :" + syuan);

System.out.println("Inverse code is :1," + str);

String BBvalue = Integer.toBinaryString(~value3);

String str3 = BBvalue.substring(BFvalue.length() - n);

System.out.println("Complement code is :1," + str3);

} else {

System.out.println("0 Original code is not only");

System.out.println("[+0]riginal code 00.....0");

System.out.println("[-0]riginal code 10.....0");

System.out.println("--------------------------------------------");

System.out.println("0 Complement code is not only");

System.out.println("[+0]和[-0] Complement code 00.....0");

System.out.println("---------------------------------------------");

System.out.println("0 Inverse code is not only");

System.out.println("[+0]Inverse code00..........0");

System.out.println("[-0]Inverse code11..........1");

}

System.out.println("-------------------------------------------------");

}

}

运行效果:

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

True value--> original code

Please enter an integer!!!!!

-65435

Original code is :1,1111111110011011

Inverse code is :1,0000000001100100

Complement code is :1,0000000001100101

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2020-02-02

java反码补码原码作用_java原码补码反码关系解析相关推荐

  1. java中输出时 什么作用_JAVA中输入和输出处理(Java I/O)重点总结

    文件-使用File类操作文件: 什么是文件?  文件可认为是相关记录或放在一起的数据的集合. 文件一般存储在哪里?  储存在存储设备里. Java程序如何访问文件?  Java API:java.io ...

  2. java线程池有什么作用_java线程池的作用是什么?线程池介绍

    你知道java中线程池的作用是什么吗?那么究竟什么是线程池呢?都有哪些类型呢?让我们对以上的问题来进行详细的了解吧. 一.java线程池作用 第一个我们先来对它的作用进行一下简单的介绍,使用线程池的优 ...

  3. java环境变量classpath的作用_JAVA环境变量中 classpath、path、JAVA_HOME的作用

    .................................................................................................... ...

  4. java 字节码分析_Java 字节码实践 - 解读

    最近刚看完 深入理解 Java 虚拟机 一书中的第 6 章 (类文件结构),便迫不及待地自己写一个小的 Demo,来自己分析一把 Java 源文件经过编译之后成为字节码文件到底是个什么东西?先由一个简 ...

  5. java中math类的作用_Java开发知识之Java的数字处理类Math类

    Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...

  6. java 代码配置 网络调试助手_java源码:网络调试助手

    [实例简介] [实例截图] [核心代码] package com.hsw.u11.netassist.view; import java.awt.GridLayout; import java.awt ...

  7. java方法后面throw的作用_Java异常处理中throw与throws的用法区别

    前言 说到异常,我们当然会想到try catch finally.当然如果用这个的话,被try块包围的代码说明这段代码可能会发生异常,一旦发生异常,异常便会被catch捕获到,然后需要在catch块中 ...

  8. java中的码点_Java中码点和码点单元 码点与字符串的互化

    码点,就是某个任意字符在Unicode编码表中对应的代码值 代码单元:是在计算机中用来表示码点的,大部分码点只需要一个代码单元表示,但是有一些是需要两个代码单元表示的. 遍历一个字符串,依次将每一个码 ...

  9. java 装箱 拆箱的作用_Java中的装箱拆箱

    一)  装箱与拆箱 Java中有概念是一切皆对象,因为所有的类都默认继承自Object.但是,对于数据类型是个例外,如short,int,long,float,double, byte,char,bo ...

最新文章

  1. 【记录】 安装qflow on ubuntu 16.04
  2. [Android]生成heap dump文件(.hprof)
  3. alipay html5 app,H5App支付宝开发详解
  4. tp5.1升级指导---控制器调整 _initialize方法更改为initialize
  5. Python文件拷贝函数
  6. java五子棋判断_JAVA 五子棋 判断输赢的代码实现
  7. 【3】docker-compose
  8. echarts map
  9. eigen 矩阵求逆_「伴随矩阵」Eigen库 矩阵基本操作:转置矩阵,逆矩阵,伴随矩阵,特征值 - seo实验室...
  10. python中如何判断词性_Python自然语言处理 5 分类和标注词汇
  11. 手动卸数+传输文件+入库
  12. 流量之战:阿里150亿入股分众,到底为哪般?
  13. 中国建设银行信息技术岗笔试
  14. 一种留存分析的方案:Cohort Analysis
  15. 互联网公司平均薪资Top8 , 阿里勇夺第一。
  16. 基于stm32和ESP8266实现wifi模块smartlink功能以及TCP连接
  17. xxx.pth或者xxx.pt is a zip archive(did you mean to use torch.jit.load()?问题解决
  18. SEO 行业怎么了?
  19. 描述计算机组装配置单,细说组装电脑配置清单最新介绍
  20. 显示桌面图标没有怎么解决

热门文章

  1. 边结点结构体的定义及使用
  2. UITextField 详解
  3. SHELL学习——退出状态、测试(整数\字符串\ 文件\逻辑运算符)
  4. vs2010往oracle 10g中插入数据
  5. 病毒周报(071029至071104)
  6. Google要推输入法 是战略布局还是战术需要?
  7. python随机生成车牌_Python实现随机生成任意数量车牌号
  8. golang 相互引用_golang go run undefined 同一个package中函数互相调用的问题
  9. bootstrap 垂直居中 布局_给你一份详细的CSS布局指南,请查收
  10. json 字符串传到action之后的处理,遍历. 练习代码片