「java整型补码」java二进制补码运算

博主:adminadmin 2022-12-30 11:54:07 769

本篇文章给大家谈谈java整型补码,以及java二进制补码运算对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA中原码 反码 补码是什么意思?

反码是将其2进制数每一位按位取反。

即1改为0,0改为1.

补码则不同。

正数的补码是其源码本身

负数的补码是其除符号位以外其他每一位按位取反再加一,符号位不变。

例如:

10进制数11:

源码:00001011;

反码:11110100;

补码:00001011;

十进制数-11:

源码:10001011;

反码:01110100;

补码:11110101;

用java输出一个给定整数的二进制补码

给你一个:

import java.util.*;

public class TestBina{

static void printBinaryInt(int i){

System.out.println("int:"+i+",binary:");

System.out.print(" ");

for(int j=31;j=0;j--)

if(((1j)i)!=0)

System.out.print("1");

else

System.out.print("0");

System.out.println();

}

public static void main(String [] args){

Random rand = new Random();

int i = rand.nextInt();

int j = rand.nextInt();

printBinaryInt(i);

printBinaryInt(j);

printBinaryInt(10);

printBinaryInt(-10);

}

}

java求补码

~在c和java语言中都是求反码,或者叫位非NOT运算。

java的运算有特殊性:

4的二进制为100,

执行~4后转换成32位有符号整型(int),值为11111111111111111111111111111011

打印时,按有符号解释成-5。

C语言的运算和java大类相同,但要注意几点

1、注意意无符号的情况。unsigned int i=~4;的值就是4294967291

2、注意变量的数据长度。在c中,char和char之间,short和short之间,long和long之间的加减都按本身定义的长短。而不像java都统一转换成32位int后进行运算

3、注意显示时符号的有无。printf中的%d和%u对显示结果就有本质区别

Java为什么使用补码进行计算

比如char的范围是-128-127

,一个字节

10000000

==-128

01111111==127

一个正数的补码是自己,不会溢出.

但负数,比如-128,

补码=原码除开符号位,其余位全部取反,然后+1,这样取反的结果,就变成了

10000

0000,超出了char表示的范围,导致溢出~~

望知悉!

关于java整型补码和java二进制补码运算的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。