本文目录一览:
- 1、java里面二进制怎么表示
- 2、java的数字二进制输出
- 3、java中二进制怎么表示?
- 4、Java里,,什么是二进制? 什么是base64?他们有什么区别?
- 5、java中怎么表示二进的整数int a=xxxx;
- 6、java中如何将十进制数字转化成二进制?
java里面二进制怎么表示
java不显示地支持二进制数字,因为二进制的数字比较长,你可以考虑使用八进制或十六进制,这两种转换成二进制都比较方便. 可以用八进制用0开头,比如:012就是十进制的10 十六进制用0x开头,比如:0x12就是十进制的18
java的数字二进制输出
首先,java里int是有32位2进制数组成的
我们一般赋值
int
i
=
1;
这个是赋值10进制的数
赋值
2进制要
int
i
=
01;(前面加个0,就表示是2进制数)
赋值16进制(常用)
int
i
=
0x00000001;
(0x表示为16进制数)
3种的值都是1.
要用2进制输出就是Integer.toBinaryString(i)
拓展:
因为计算机处理位运算速度是非常快的(应该是最快的运算)
所以很多时候,如果有一堆boolean变量需要表示时,
一般只用1个int的数表示,如:
int
i
=
0x0000000f;//表示后4位为1
int
m
=
(i
2)
1;
//
其中m就是表示某一位的值,2表示右边开始数第2位(当然是从第0位开始算的)
这样就能取具体每一位的值
这种方法在很吃代码效率的程序中经常遇到
全手打,望支持
java中二进制怎么表示?
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
1、Java中定义两个数,然后分别打印出它们的二进制表示:
System.out.println("Java二进制7: "+Integer.toBinaryString(7));
System.out.println("Java二进制-7: "+Integer.toBinaryString(-7));
输出:
Java二进制7:
111
Java二进制-7:
11111111111111111111111111111001
可以看到Java中对于数的表示属于有符号的,那么这个是怎么来的?
7好办,直接是111
-7转化二进制的过程:
(1)把-7转化成7,二进制是
111
(2)Java中对于不满32位的int二进制自动补齐,所以变成了
(29个0)111
(3)然后取反
(29个1)000
(4)然后加1
(29个1)001
这就是-7的整个转化过程,那么现在有一个问题,如果有一个文本文件,每一行有八位二进制,表示的范围是(0~255),也就是用一个字节表示的无符号整数,如果现在要把这些二进制转化成整数存到文件里应该怎么做?
文件:
line1
11111110
(254)
line2
00000000
(0)
假设用Java读进了第一行,那么直接打印出来的值是-2,不符合要求,这时让-2变254有两种办法:
(1)用Java自带的方法,Byte.toUnsignedInt((byte)
-2)(ps.-2的二进制表示就是line1),这样打印出来的就是254了
System.out.println(Byte.toUnsignedInt((byte) -2));
输出:254
第二种方法的原理:
Java中-2的二进制表示:11111111111111111111111111111110(这个二进制的后八位就是line1,可以直接打印的话Java把其当做了负数
-2)
Java中255的二进制表示:00000000000000000000000011111111(24个‘0’,8个‘1’)
做与后变为:00000000000000000000000011111110
这样做与后表示的数就是正数了
254。可以想一下,假设每一行用2个字节表示一个无符号数,那么可以把每一行变成正整数用方法2怎么做?
2.Java中的和
''
算术右移,向右移左边补符号位
''
逻辑右移,向右移左边补0
System.out.println("Java二进制-7: "+Integer.toBinaryString(-7));
System.out.println("-72: "+Integer.toBinaryString(-72));
System.out.println("-72: "+Integer.toBinaryString(-72));输出:
Java二进制-7: 11111111111111111111111111111001
-72: 11111111111111111111111111111110
-72: 111111111111111111111111111110 //正常应该这样(00)111111111111111111111111111110左边的两个0不显示
Java里,,什么是二进制? 什么是base64?他们有什么区别?
二进制就是逢二进一,而我们习惯的是十进制,就是逢十进一,其实就是平时计数的时候用的符号不一样,十进制是(0~9)10个符号,而二进制只有0和1两个,因为当超过1的时候就会产生进位,比如二进制加法1+1=10(注意不要和十进制的十混淆,这个是二进制一零,等于十进制的二)。
至于base64就是一套加密算法呗,有点类似于数学的某个公式,你把你的数字输入到这个公式就会产生另外一个数字,加密就是把你的信息按照一定的方法转换成别的信息,如果不知道解密方法,是无法理解信息的内容的,大概就是这样的意思。还不理解请追问
java中怎么表示二进的整数int a=xxxx;
int x = 123;
String c = Integer.toBinaryString(x);
System.out.println(c);
int d = Integer.parseInt(c, 2);
System.out.println(d);
运行一下上面的代码
java用String表示二进制,使用toBinaryString将int转为二进制串
使用parseInt将二进制串转为int
java中如何将十进制数字转化成二进制?
如果表达小于2^31-1的正数代码如下:
public void binaryToDecimal(int n){
int t = 0; //用来记录位数
int bin = 0; //用来记录最后的二进制数
int r = 0; //用来存储余数
while(n != 0){
r = n % 2;
n = n / 2;
bin += r * Math().pow(10,t);
t++;
}
System.out.println(bin);
}
使用字符串的拼接(+)来实现大于2^31-1的数,代码如下:
public void binaryToDecimal(int n){
String str = "";
while(n!=0){
str = n%2+str;
n = n/2;
}
System.out.println(str);
}
可以右移后再与0x01进行运算 得到第一位的数字判断判断它的第几位上是0,第几位上是1,代码如下:
class ByteMove
{
public static void main(String[] args)
{
int i = 7;
move(i);
}
static void move(int num){
for(int i= 0;i6;i++){
System.out.println("第"+(i+1)+"位:" + (num i 0x01));
}
}
}
扩展资料:
在windows下编译java文件、执行:
1、先创建一个txt,更改为test.java。
2、编写代码,为输出为holloword。
3、找到cmd,并进行打开cmd。
4、编译java文件,输入命令为javac test.java。
5、如果没有报错,查看当前目录下是否有class文件产生。
6、执行class文件,在命令输入java test,输出为holloword。