99问答网
所有问题
java中二进制怎么表示?
如题所述
举报该问题
推荐答案 2020-02-24
二进制是计算技术中广泛采用的一种数制。二进制数据是用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("-7>>2: "+Integer.toBinaryString(-7>>2));
System.out.println("-7>>>2: "+Integer.toBinaryString(-7>>>2));输出:
Java二进制-7: 11111111111111111111111111111001
-7>>2: 11111111111111111111111111111110
-7>>>2: 111111111111111111111111111110 //正常应该这样(00)111111111111111111111111111110左边的两个0不显示
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/XezOOzXjWBBjvXOvjv.html
其他回答
第1个回答 推荐于2017-09-22
java不显示地支持二进制数字,因为二进制的数字比较长,你可以考虑使用八进制或十六进制,这两种转换成二进制都比较方便.可以用八进制用0开头,比如:012就是十进制的10十六进制用0x开头,比如:0x12就是十进制的18本回答被提问者采纳
相似回答
跪求“
java中二进制怎么表示
”
答:
java中二进制的表示:
1、Java中定义两个数,然后分别打印出它们的二进制表示
(例如7和-7):System.out.println("Java二进制7: "+Integer.toBinaryString(7));System.out.println("Java二进制-7: "+Integer.toBinaryString(-7));输出:Java二进制7: 111 Java二进制-7: 11111111111111111111111111111...
Java中的二进制
答:
让我们来看看一个具体的例子,Java的int类型占用4字节(32位),
如-43的二进制表示为01000000_10101011_11111111_11111111
,这是通过
补码
来表示负数。int类型的边界值(MAX_VALUE和MIN_VALUE)及其转换,可以通过Java API轻松实现。当你调用Integer.toBinaryString(43)时,会得到0b101011,这是43的二进制...
java中二进制怎么表示?
答:
java中在1.6之前是不支持二进制表示的
,从java1.7开始支持,以0b开头 如:int i = 0b110101001;等价于:int i = 425; //十进制 int i = 0651; //八进制 0开头 int i = 0x1a9;//十六进制 0x 开头
java中
为什么要用补码
表示二进制?
答:
Java使用补码来表示二进制数,在补码表示中,最高位为符号位,正数的符号位为0,负数为1
。补码的规定如下:对正数来说,最高位为0,其余各位代表数值本身(以二进制表示),如+42的补码为00101010。对负数而言,把该数绝对值的补码按位取反,然后对整个数加1,即得该数的补码。如-42的补码为...
请问
java的
什么
二进制
八进制跟数学的一样吗,
怎么
算的啊
答:
几进制就是逢几进一的数字表示方法,如我们常用的十进制,就是逢十进一,一共用10个数字表示,二进制就是逢二进一,有0,1两个数字表示,八进制就是逢8进一,有0~7,8个数字表示,如用
二进制表示
9就是1001,八进制表示9就是11
java
用什么变量存储
二进制
答:
在
Java中
,可以使用多种变量类型来存储二进制数据。其中最常用的包括byte、short、int、long和ByteBuffer。1. **byte**:这是一个有符号的字节类型,范围是从-128到127。它通常用于存储较小
的二进制
数据,如ASCII字符或标志位。例如: byte b = 64; // 二进制
表示
为 0100 0000 2. **short**:...
java
如何
显示
二进制
答:
java
显示
二进制
,主要是使用基本类型的包装类的tobinaryString类型进行转换,代码如下:package com.qiu.lin.he;import java.text.ParseException;public class Ceshi {public static void main(String[] args) throws ParseException {int i = 8; //使用包装类的toBinaryString转换成二进制System.out...
Java里
,,什么是
二进制?
什么是base64?他们有什么区别?
答:
二进制
就是逢二进一,而我们习惯的是十进制,就是逢十进一,其实就是平时计数的时候用的符号不一样,十进制是(0~9)10个符号,而二进制只有0和1两个,因为当超过1的时候就会产生进位,比如二进制加法1+1=10(注意不要和十进制的十混淆,这个是二进制一零,等于十进制
的二
)。至于base64就是一...
java怎么
存储
二进制
答:
下面以十进制的0.625为例,将它转化成
二进制
将小数部分0.625乘2,取整数部分1,如图:用剩余的小数部分0.25乘2,取整数部分0,如图:将剩余的小数部分0.5乘2,取整数部分。2、移位位运算中大多数操作都是向左移位和向右移位在
Java中
,这对应着>这两个操作符,示例如下:1234567891011/*000000011/*...
大家正在搜
二进制中的3到4怎么表示
java二进制转十进制
二进制中的三位可以表示什么
二进制中的八位可以表示
二进制中的0和1代表什么
二进制中的3位可以表示几种状态
二进制中0表示正还是负
java 二进制
java int转二进制
相关问题
java中二进制怎么表示
跪求“java中二进制怎么表示”
java中有符号128二进制怎样表示啊/
java中怎么输入二进制数据
在java中-1用二进制中的32个1表示吗?为什么?
java 中二进制数值怎么表示
java怎样进行二进制赋值
java中负数怎么用二进制表示