java中如何将十进制数字转化成二进制?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何将十进制数字转化成二进制?相关的知识,希望对你有一定的参考价值。
参考技术A如果表达小于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;i<6;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。
python如何将整数转化成二进制字符串
直接上代码:
def intTo2Str( X , K ):
""" intTo2Str( X , K )
将整数 X 转化为 K位2进制字符串
"""
try:
X = long( X)
except:
X = 0
try:
K = int( K)
except:
K = 0
if K<1 :
K = 1
if X<0 :
FH = 1 ; X = -X
else:
FH = 0
A =[ 0 for J in xrange( 0, K ) ]
J = K-1
while (J>=0) and ( X>0):
Y = X % 2
X = X / 2
A[ J ] = Y
J = J - 1
if FH==1:
# 求反
for J in xrange( 0, K):
if A[J] ==1 :
A[J] = 0
else:
A[J] = 1
# 末位加1
J = K - 1
while J>=0:
A[J] = A[J] +1
if A[J]<=1:
break;
A[J] = 0
J = J -1
return "".join([ chr(J+48) for J in A ])
print intTo2Str( 8, 8 ) # 应显示 00001000
print intTo2Str( -1, 8 ) # 应显示 10000000 参考技术A
>>> num = 1396940819.29708
>>> bin(int(num))
'0b1010011010000111010000000010011'
>>> 参考技术B
[python] view plain copy
last_mask_str = '11110000'
last_mask_str = str(int(last_mask_str, 2))
print last_mask_str
#240
print bin(int(last_mask_str))
#0b11110000
但是python自带了方法 bin.
比如bin(12345)回返回字符串'0b11000000111001' 这个时候在把0b去掉即可.
bin(number).replace('0b','') 参考技术D '0:b'.format(128) # python 3.x 以上
以上是关于java中如何将十进制数字转化成二进制?的主要内容,如果未能解决你的问题,请参考以下文章