Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
267 views
in Technique[技术] by (71.8m points)

conversion of binary fraction to decimal in java

I want to convert a binary fraction into decimal.Consider binary number 1101.1110. I know the manual method of conversion and i can put in the form of program, but i am not able to separate the fractional part from the number. I need to separate it because the method of conversion differs after the point.

while converting decimal to binary the fractional part can be separated this way:

double num=12.23;

int fraction=num-(long)num;

can u help me.

Thanks in advance.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I'm assuming you want a result of type double. Parse your String without the point, then divide by the right power of two for the number of digits after the point.

int placesAfterPoint = binaryString.length() - binaryString.indexOf(".") - 1;
long numerator = Long.parseLong(binaryString.replace(".", ""), 2);
double value = ((double) numerator) / ( 1L << placesAfterPoint );

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...