package com.swift;//所属包

import java.util.Scanner;//导入扫描器

public class Hex2Decimal {

    public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("please enter a Hex:");
String hex = scan.nextLine();//读取一行
hex = hex.toUpperCase();//转换成大写字母
System.out.println("The hex is:" + hex);//输出一下
int decimal = 0;
for (int i = 0; i < hex.length(); i++) {
if (hexChar2Decimal(hex.charAt(hex.length() - 1 - i)) != -1) {//从16进制数的最后一个字符开始获取
decimal = (int) (decimal + hexChar2Decimal(hex.charAt(hex.length() - 1 - i)) * Math.pow(16, i));//乘以16的0次幂,然后++
} else {
System.out.println("enter error, decimal will be zero!");//如果等于-1则是非法字符
break;
}
}
System.out.println("decimal=" + decimal);
} private static int hexChar2Decimal(char charAt) {
if (charAt >= 'A' && charAt <= 'F')
return charAt - 'A' + 10;//A~F转换成10进制数
else if (charAt >= '0' && charAt <= '9')
return charAt-'0';//0~9字符转换成10进制
else
return -1;
} }

十六进制数AF3转换原理:3*16^0+F*16^1+A*16^2  其中^表示幂运算,F和A需转换成十进制数15和10

Java如何将十六进制数转换为十进制数的自编程序的更多相关文章

  1. java语言将任意一个十进制数数字转换为二进制形式,并输出转换后的结果

    package com.llh.demo; import java.util.Scanner; /** * * @author llh * */ public class Test { /* * 将任 ...

  2. C++利用权重方法将二进制正数转换为十进制数

    #include <iostream> #include <Windows.h> #include <string> using namespace std; in ...

  3. Java入门:基础算法之二进制转换为十进制

    Java有两种方法可以将二进制数转换为十进制数: 1)使用Integer类的Integer.parseInt()方法. 2)自己编写转换逻辑. 方法1:使用Integer.parseInt()实现二进 ...

  4. 【模板小程序】任意长度非负十进制数转化为二进制(java实现)

    妈妈再也不用担心十进制数过大了233(注意只支持非负数) import com.google.common.base.Strings; import java.math.BigInteger; imp ...

  5. java中负数的补码转换为十进制

    一个数如果为正,则它的原码.反码.补码相同:一个正数的补码,将其转化为十进制,可以直接转换. 已知一个负数的补码,将其转换为十进制数,步骤: 1.先对各位取反: 2.将其转换为十进制数: 3.加上负号 ...

  6. C 如何将输出的地址转化为十进制数

    •需求 这两天在看内存对齐的相关问题,因此产生了一个,如何将地址转换为十进制数? 对于如下程序: void func() { int a = 10; printf("a 的地址为:%p\n& ...

  7. java_十进制数转换为二进制,八进制,十六进制数的算法

    java_十进制数转换为二进制,八进制,十六进制数的算法 java Ê®½øÖÆÊýת»»Îª¶þ½øÖÆ,°Ë½øÖÆ,Ê®Áù½øÖÆÊýµÄË㕨 using System; using S ...

  8. 在Java中,为什么十六进制数0xFF取反之后对应的十进制数是-256呢?

    int number = 0xFF: 字面值是指在程序中无需变量保存,可直接表示为一个具体的数字或字符串的值. 0xFF是一个整数字面值,整数字面值的缺省类型是 int. 我们知道在Java中, in ...

  9. Java中实现十进制数转换为二进制的三种思路

    Java中实现十进制数转换为二进制 第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒 ...

随机推荐

  1. 洛谷 P1439 【模板】最长公共子序列LCS 解题报告

    题目传送门 是一道十分经典的LCS问题 很容易想到  的一般算法:主题代码如下: for (int i = 1; i <= n; i++) for (int j = 1; j <= n; ...

  2. redis使用方法

    redis缓存服务器笔记 redis是一个高性能的key-value存储系统,能够作为缓存框架和队列 但是由于他是一个内存内存系统,这些数据还是要存储到数据库中的 作为缓存框架: create/upd ...

  3. 原生JS实现日历

    这周写自己的项目发现又用到日历了,加之自己毕业之后的第一个工作中遇到的任务也是需要写个日历(组员写了,我就不用写了) 今天就来好好折腾一下日历是怎么写的. 首先,我们看看 windows 的日历.发现 ...

  4. linux下使用swapfile

    https://blog.argcv.com/articles/3248.c linux下至少有两种方法可以配置系统的swap.一种是直接格式化一个分区,用这个分区作为swap区.另一种是创建一个文件 ...

  5. Spark Mllib里相似度度量(基于余弦相似度计算不同用户之间相似性)(图文详解)

    不多说,直接上干货! 常见的推荐算法 1.基于关系规则的推荐 2.基于内容的推荐 3.人口统计式的推荐 4.协调过滤式的推荐 协调过滤算法,是一种基于群体用户或者物品的典型推荐算法,也是目前常用的推荐 ...

  6. linux上的shutdown命令

    定时关机:shutdown -r now 立刻重新开机 shutdown -h now 立刻关机 shutdown -k now 'Hey! Go away! now....' 发出警告讯息, 但没有 ...

  7. Java基础反射-调用类

    Student类 package com.test.wang; import java.lang.reflect.Constructor; import java.lang.reflect.Field ...

  8. MongoDB 3.2 在CentOS 上的安装和配置

    MongoDB 3.2 在CentOS 上的安装和配置   2016-01-06 14:41:41 发布 您的评价:       0.0   收藏     0收藏 一.安装 编辑/etc/yum.re ...

  9. CSS中box-sizing属性的作用

    今天在项目中看到box-sizing这个属性,以前用过,但是不常用!注意,它是CSS3里的属性喔! W3C 盒子模型:标准盒模型,是指块元素box-sizing属性为content-box的盒模型.一 ...

  10. WORD窗体保护密码清除

    Word 2003破解方法如下:1.用Word打开已设置有密码的“保护文档”(原始DOC文件):2.菜单中选择“文件”→“另存为Web页”,保存为HTML文件然后关闭Word:3.用文本编辑器(如:记 ...