问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

几个数的进制转换,高分,谢谢了。

发布网友 发布时间:2022-05-29 20:35

我来回答

4个回答

热心网友 时间:2023-11-23 03:26

package com.test.numsys;

import java.util.*;

/**
* 数值转换 十进制 二进制 八进制 十六进制
*/
public class NumSys {

public static void main(String[] args) {

NumSys ns = new NumSys();
System.out.println("十进制100转换为二进制为:" + ns.decimalToBinary(100));//1100100

System.out.println("二进制1100100转换为八进制为: " + ns.binaryToOctal(1100100));// 144

System.out.println("二进制10110000011101转换为十六进制为:" + ns.binaryToHex("10110000011101")); //2C1D

System.out.println("十进制100转换为八进制:" + ns.DecimalToOctal(100));

System.out.println("十进制15400转换为十六进制:" + ns.DecimalToHex(15400));
}

//没有实现小数部分的转化 十进制转换为二进制
public long decimalToBinary(int a) {

long binary = 0L;
int[] binaryArr = new int[64];
int i = 0;
do {
binaryArr[i] = a%2;
a = a/2;
i ++;
} while(a != 0);

String s = "";
for(int j = binaryArr.length-1; j>=0; j--) {
s+=binaryArr[j] + "";
}

binary = Integer.parseInt(s);

return binary;
}

//二进制转换为八进制
public String binaryToOctal(long a) {
String octal = "";
String s = a +"";
char [] c_temp = (a+"").toCharArray();

int temp = 3 - c_temp.length%3;
for(int i = 0; i<temp ; i++) {
s = "0" + s;
}

char[] c2 = s.toCharArray();
List<String> list = new ArrayList<String>();

for(int i = 0 ; i < c2.length ; i += 3 ) {
String stemp = c2[i] +""+ c2[i+1] +""+ c2[i+2];

if(stemp.equals("000")) {
list.add("0");
} else if(stemp.equals("001")) {
list.add("1");
} else if(stemp.equals("010")) {
list.add("2");
} else if(stemp.equals("011")) {
list.add("3");
} else if(stemp.equals("100")) {
list.add("4");
} else if(stemp.equals("101")) {
list.add("5");
} else if(stemp.equals("110")) {
list.add("6");
} else if(stemp.equals("111")) {
list.add("7");
}
}

for(Iterator<String> it = list.iterator(); it.hasNext();) {
octal += it.next();
}

return octal;
}

public String binaryToHex(String a) {
String hex = "";
String s = a;
char [] c_temp = (a+"").toCharArray();

int temp = 4 - c_temp.length%4;
for(int i = 0; i<temp ; i++) {
s = "0" + s;
}

//System.out.println("-----"+s);

char[] c2 = s.toCharArray();
List<String> list = new ArrayList<String>();

for(int i = 0 ; i < c2.length ; i += 4 ) {
String stemp = c2[i] +""+ c2[i+1] +""+ c2[i+2] +""+ c2[i+3];

if(stemp.equals("0000")) {
list.add("0");
} else if(stemp.equals("0001")) {
list.add("1");
} else if(stemp.equals("0010")) {
list.add("2");
} else if(stemp.equals("0011")) {
list.add("3");
} else if(stemp.equals("0100")) {
list.add("4");
} else if(stemp.equals("0101")) {
list.add("5");
} else if(stemp.equals("0110")) {
list.add("6");
} else if(stemp.equals("0111")) {
list.add("7");
} else if(stemp.equals("1000")) {
list.add("8");
} else if(stemp.equals("1001")) {
list.add("9");
} else if(stemp.equals("1010")) {
list.add("A");
} else if(stemp.equals("1011")) {
list.add("B");
} else if(stemp.equals("1100")) {
list.add("C");
} else if(stemp.equals("1101")) {
list.add("D");
} else if(stemp.equals("1110")) {
list.add("E");
} else if(stemp.equals("1111")) {
list.add("F");
}
}

for(Iterator<String> it = list.iterator(); it.hasNext();) {
hex += it.next();
}

return hex;
}

//十进制转换为八进制
public String DecimalToOctal(int d)
{
String o = "";
if (d < 8)
{
o = d+"";
}
else
{
int c;

int s=0;
int n=d;
while (n >= 8)
{
s++;
n = n / 8;
}
int[] m = new int[s];
int i = 0;
do
{
c = d / 8;
m[i++] = d % 8;
d = c;
} while (c >= 8);
o = d+"";
for (int j = m.length - 1; j >= 0; j--)
{
o += m[j];
}
}
return o;
}

//十进制转十六进制
public String DecimalToHex(int d)
{
String x = "";
if (d < 16)
{
x = chang(d);
}
else
{
int c;
int s = 0;
int n = d;
while (n >= 16)
{
s++;
n = n / 16;
}
String [] m = new String[s];
int i = 0;
do
{
c = d / 16;
m[i++] = chang(d % 16);//判断是否大于10,如果大于10,则转换为A~F的格式
d = c;
} while (c >= 16);
x = chang(d);
for (int j = m.length - 1; j >= 0; j--)
{
x += m[j];
}
}
return x;
}

//判断是否为10~15之间的数,如果是则进行转换
public String chang(int d)
{
String x = "";
switch (d)
{
case 10:
x = "A";
break;
case 11:
x = "B";
break;
case 12:
x = "C";
break;
case 13:
x = "D";
break;
case 14:
x = "E";
break;
case 15:
x = "F";
break;
default:
x = d+"";
break;
}
return x;
}

}

只是不能转小数!!!其他都可以

热心网友 时间:2023-11-23 03:27

告诉你一个好方法,用windows自带的计算器,使用科学计数模式,进制转换不在话下。相信你用计算器就可以算出你所有的问题了。

热心网友 时间:2023-11-23 03:27

用windows自带的计算器,使用科学计数模式。

参考资料:用windows自带的计算器,使用科学计数模式,进制转换不在话下。相信你用计算器就可以算出你所有的问题了。

热心网友 时间:2023-11-23 03:28

你出的是小数哦,只有十进制才有小数,没有B哦
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
网络宣传文案心碎,句句获赞! 关于朋友圈上万人点赞转发的说说 人生看的很透彻的经典句子 超现实超扎心的说说大全2019最新 心脏血管堵塞吃什么食物 投资理财有什么前景 pp理财什么情况 P2P理财行业的前景如何? 中国目前的财富管理现状是什么情况? 呼吸皮沙发寿命多久 “皮沙发的呼吸寿命” 呼吸皮沙发寿命多久 求武侠奇幻类广播剧,五部以上可以么,谢谢。 不要bl的,拒绝yy shihunshexue@qq.com 下列各句中没有语病的一句是A早上出门的时候,他看到建筑工地上的挖掘机、装载机和十几辆翻斗车正在工作 中国有多少台挖掘机?装载机? 中国有多少台挖掘机? 沙漠可以利用吗? 需要安排多少台挖掘机,多少辆汽车? 光明北路,橡树湾和石油家园之间,在修路挖土,每天三台挖掘机,数十辆大车到深夜还不停的工作,扰民。 我朋友结婚用了十台挖机去接亲,女放家老丈人说不够大气,求求大家说说什么样才大气啊,快快还有几天就要 大量别墅项目侵占滇池保护区,滇池该由谁来保护? 三十五岁女、月经很少吃什么药能让月经多来点 我吃达英35月经怎么一个月比一个月少阿怎么办 本人35周岁近三个越来月经量很少,有淤血块颜色发黑,... 老牛死后留下牛角,主人无奈拿去街上卖,次日家门前停10辆挖机吗? 吃一个月的达英35月经量比以前少很多 经期35-40天,出血量少,没啥明显症状,这是怎么回事? 35天才来月经,量少呈咖啡色 吃了达英35后为什么月经量会变少 为什么要在蟹田里养螃蟹 服用达因35后月经量少是怎么回事 田蟹养在水池里会瘦吗? 炒菜为什么会这么香? 十进制转换成二进制,八进制,十六进制 新郑龙湖哪里有回收黄金的高价回收黄金首饰钻石 2014五月新郑老凤祥黄金价格 魔兽jass里字符串和整数相互转换的具体算法 去新郑黄金大道坐郑州地铁2号线,哪一站下车最近? 如何用USB口下载十六进制的hex到单片机学习板,不用com,(AT89S52) 新郑 哪里有黄金 开户的公司??/?、???/? 大排档好吃的炒米粉在家里是如何做的呢? 新郑市,哪里有回收黄金首饰的…… 新郑市兴业黄金饰品有限公司怎么样? 新郑黄金大道两个物流园在哪个地方? 新郑龙湖金大福回收黄金么 我的鼠标指针方案没了,谁能把注册表导出一份发上来啊!!路径是HKEY_CURRENT_USER&#92;Control Panel&#92;Cursors 新郑统一黄金外汇7万月分红7千是骗人的吗 新郑市新郑县上海老庙黄金是几月几号店庆 郑州黄金价格最贵是哪一年? 想知道: 郑州市 新郑市黄金大道 在哪 郑州市黄金价格 清关的顺序是怎么来的