本文目录一览:
java中~5如何计算
dtya@zzu:~$ cat Test.java
import java.io.*;
public class Test
{
public static void main(String[] args)
{
int a=5;
System.out.println(~a);
}
}
dtya@zzu:~$ javac Test.java
dtya@zzu:~$ java Test
-6
java 中int 类型的32位,补码表示,5的补码:
0000 0000 0000 0000 0000 0000 0000 0101
首位0表示整数
取反:
1111 1111 1111 1111 1111 111 1111 1010
首位1表示负数,它的值是后31位取反加1.
先取反:
000 0000 0000 0000 0000 0000 0000 0101
再加1 :
000 0000 0000 0000 0000 0000 0000 0110(6)
故此:~5=6
附录:
补码相关知识:
计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
正数
正整数的补码与原码相同。
【例1】+9的补码是00001001。(备注:这个+9的补码是用8位2进制来表示的,补码表示方式很多,还有16位二进制补码表示形式,以及32位二进制补码表示形式,64位进制补码表示形式等。每一种补码表示形式都只能表示有限的数字。)
负数
求负整数的补码,原码符号位不变,先将原码减去1,最后数值各位取反。(但由于2进制的特殊性,通常先使数值位各位取反,最后整个数加1。)
同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。
【例2】求-5的补码。
因为给定数是负数,则符号位为“1”。
后七位:-5的原码(10000101)→符号位不变(10000101)→数值位取反(11111010)→加1(11111011)
所以-5的补码是11111011。
【例3】数0的补码表示是唯一的。
[+0]补=[+0]反=[+0]原=00000000
[ -0]补=11111111+1=00000000
转化为原码
已知一个数的补码,求原码的操作其实就是对该补码再求补码:
⑴如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
⑵如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
【例4】已知一个补码为11111001,则原码是10000111(-7)。
因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。
其余七位1111001取反后为0000110;
再加1,所以是10000111。
补码的绝对值
(称为真值)
【例5】-65的补码是10111111
若直接将10111111转换成十进制,发现结果并不是-65,而是191。
事实上,在计算机内,如果是一个二进制数,其最左边的位是1,则我们可以判定它为负数,并且是用补码表示。
若要得到一个负二进制补码的真值,只要对补码全部取反并加1,就可得到其真值。
如:二进制值:10111111(-65的补码)
各位取反:01000000
加1:01000001(+65)
java有java2、java5,那么它到底有几个版本呢?
现在java 基本可以分为java2 和java1但是,JAVA1已经基本上没有人在用了,现在能见到的都统称为JAVA2
你所说的JAVA5 应该是java 1.5,现在已经改名就java SE 5
这个版本是从1.1开始的,现在最新版本可以说是1.6.0.0.3,也叫java SE5
java分三个方向吧可以说:J2SE、J2EE、J2ME其中的J2SE前面已经说过了,最新为1.6,j2ee为1.5
J2SE主要为面向桌面程序的开发
J2EE为面向企业级开发
J2ME为面向手持产品、移动平台的开发
Java5、java6指的是JDK的版本吗?
1. JAVA5,6:应该指的是版本。
即指的是JDK(java开发工具的版本),java development kit 。
2.相关介绍:
JAVA5的新特性:
1、泛型 Generics:
2、枚举类型 Enumeration:
3、自动装箱拆箱(自动类型包装和解包)autoboxing unboxing:
4、可变参数varargs(varargs number of arguments)
5、Annotations 它是java中的metadata
JAVA6的新特性:
1、引入了一个支持脚本引擎的新框架
2、UI的增强
3、对WebService支持的增强(JAX-WS2.0和JAXB2.0)
4、一系列新的安全相关的增强
5、JDBC4.0
6、Compiler API
7、通用的Annotations支持
现在已经有JAVA8了,有关的新特性,可以在网上查找。支持了新的语法,可作相关的了解!!!
java-5&6等于多少
4
java-5=100,6=110.所以java-56=4.
java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。