导航:首页 > 编程语言 > java负数二进制

java负数二进制

发布时间:2024-05-06 17:37:56

1. java里用Integer.parseInt()把负数的二进制转化十进制会抛异常怎么办,有什么办法能转化

Integer.parseInt(String s, int radix) 这个方法本身就不能转负数,只能转正数。如果你想转换-1,那只能是 Integer.parseInt("-1",2),同理,转-123,只能 Integer.parseInt("-1111011",2),即在本身正数对应2进制之前加一个“-”号。

对于“已知一个负整数的二进制数,求这个数的十进制数”这类问题的话,那么方法如下:
对字符串操作,取反码,然后再按照上文所述方式转换,就可以得到所求负数+1,再-1,就可以得到所求负数

记得给分呦,亲~~~~

2. 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:

可以看到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的二进制表示:(这个二进制的后八位就是line1,可以直接打印的话Java把其当做了负数
-2)
Java中255的二进制表示:(24个‘0’,8个‘1’)
做与后变为:
这样做与后表示的数就是正数了
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:
-7>>2:
-7>>>2: //正常应该这样(00)左边的两个0不显示

3. java 浜岃繘鍒惰〃绀 0b钖庨溃棣栦綅鏄1镄勮瘽鏄璐熸暟钖

0b11101001
姝eソ8浣崭竴涓瀛楄妭锛岀涓涓浣嶆槸绗﹀彿浣嶃
鏁村瀷鏁板湪璁$畻链轰腑鐢ㄨˉ镰佸瓨鍌ㄧ殑銆
镓浠ョ敱琛ョ爜11101001姹傚师镰
锛堣礋鏁版眰铡熺爜闄や简绗﹀彿浣嶏纴鍏朵粬浣崭緷娆″彇鍙嶆渶钖庡姞涓锛屾垨钥呭厛鍑忎竴鍐嶅彇鍙嶏纴缁撴灉涓镙风殑锛
寰楀埌铡熺爜10010111 灏辨槸 -23銆

4. 璁$畻链轰腑璐熸暟镄勪簩杩涘埗琛ㄧず鏂规硶

璁$畻链轰腑阃氩父浣跨敤琛ョ爜𨱒ヨ〃绀烘暟鍊硷纴濡傛灉浣犲规ゆ湁鐤戦梾锛屼笉濡ㄦ煡阒呬竴涓嬬栌搴︾栌绉戠殑鐩稿叧瑙i喷锛歨ttp锛滐绂锛沚aike锛歜ai锛歝om锛泇iew锛377340锛歨tm銆傞偅涔堬纴濡备綍灏呜礋鏁拌浆鎹涓轰簩杩涘埗锻锛熷叾瀹炲緢绠鍗曪纴鍙闇灏嗗叾鐩稿弽鏁扮殑琛ョ爜鍙桦弽锛岀劧钖庡姞1鍗冲彲銆
🔢纭瀹氢簩杩涘埗浣嶆暟
棣栧厛锛岀‘瀹氢簩杩涘埗浣嶆暟锛屼緥濡16浣嶏纴杩欐牱灏辫兘琛ㄧず-32768鍒32767镄勬墍链夊崄杩涘埗鏁存暟銆
🔙鐩稿弽鏁扮殑琛ョ爜鍙桦弽
灏呜礋鏁扮殑鐩稿弽鏁扮殑琛ョ爜鍙桦弽锛屽缑鍒扮殑灏辨槸璐熸暟镄勪簩杩涘埗琛ㄧず銆备緥濡傦纴-1镄勭浉鍙嶆暟鏄1锛岀敤浜岃繘鍒惰〃绀轰负0000 0000 0000 0001锛埚崄鍏杩涘埗涓0x0001锛夛纴灏嗗叾鍙桦弽寰楀埌1111 1111 1111 1110锛埚崄鍏杩涘埗涓0xFFFE锛夈
➕锷1
链钖庯纴缁椤彉鍙嶅悗镄勬暟鍊煎姞1锛屽缑鍒-1镄勪簩杩涘埗琛ㄧず涓1111 1111 1111 1111锛埚崄鍏杩涘埗涓0xFFFF锛夈傚叾浠栧湪16浣崭簩杩涘埗琛ㄧず锣冨洿鍐呯殑璐熸暟涔熷彲浠ユ寜镦ц繖涓鏂规硶璁$畻銆
📝璁颁綇涓ょ偣
璁颁綇涓ょ偣锛氢竴鏄浜岃繘鍒剁殑浣嶆暟鍙婂叾鑳借〃绀虹殑鍗佽繘鍒舵暟镄勮寖锲达绂浜屾槸浜岃繘鍒舵暟镰佸彉鍙嶅姞涓镄勮繃绋嬨傝繖镙凤纴浣犲氨鑳借交𨱒惧皢璐熸暟杞鎹涓轰簩杩涘埗浜嗭紒

阅读全文

与java负数二进制相关的资料

热点内容
程序员那么可爱电视剧今天没更新 浏览:337
我的世界地形算法 浏览:341
台湾dns的服务器地址云空间 浏览:286
音乐喷泉软件要什么加密狗 浏览:491
androidhttpmime 浏览:774
威科夫操盘法pdf 浏览:981
算法可以用图表表示 浏览:948
山西太原php 浏览:273
常用cmd网络命令 浏览:676
hashmap7源码分析 浏览:898
搜索引擎原理技术与系统pdf 浏览:361
运动估计算法python 浏览:860
java正则1 浏览:538
redhatlinux最新 浏览:182
python字典编程词汇 浏览:147
微信和服务器如何通讯 浏览:13
百家号服务器配置有什么用 浏览:600
怎么为电脑加密 浏览:59
服务器出现差错是什么意思 浏览:619
苹果app移到商店里怎么删掉 浏览:257