decimal to hexadecimal,binary and octonary.
Here is a simple algorithm about 'decimal' to 'dexadecimal',and the implementation code:
/*
Convert from decimal to binary,octonary and hexadecimal.
*/
package kju.decto; import kju.print.Printer;
public class DecimalTo {
public static String decToHex(int num) {
return transDec(num, 15, 4);
} public static String decToBinary(int num) {
return transDec(num, 1, 1);
} public static String decToOctonary(int num) {
return transDec(num, 7, 3);
} /*transform decimal to others.
num: the input decimal.
base: the value to be '&'(bitwise AND) operate with 'num' for each shift operation.
offset:the number to shift each time.
*/
private static String transDec(int num, int base, int offset) {
if(num == 0)
return "0";
char[] csRef = getHexTable();
char[] csStorage = new char[32]; //store the result(32 is the max length).
int pos = csStorage.length; //position to store in the 'scStorage'.
while(num != 0) {
int temp = num & base;
csStorage[--pos] = csRef[temp];
num >>>= offset;
}
return String.valueOf(csStorage, pos, csStorage.length - pos);
} //table that contains each item of hexadecimal letter.
private static char[] getHexTable() {
return new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
} public static void main(String[] args) {
String result = decToHex(60);
Printer.println(result);
//prints:3C.
Printer.printHr();
result = decToBinary(-6);
Printer.println(result);
//prints:11111111111111111111111111111010.
Printer.printHr();
result = decToOctonary(30);
Printer.println(result);
//prints:36
}
}
Rre: Some relevant operations.
decimal to hexadecimal,binary and octonary.的更多相关文章
- Converting from Decimal Notation to Binary Notation for Fractions
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Therefore, the conver ...
- Java开发笔记(六)特殊数字的表达
之前的文章提到,Java语言不但支持大众熟知的十进制数,也支持计算机特有的二进制数.八进制数和十六进制数.可是在给数值变量赋值的时候,等号右边的数字明显属于十进制,那究竟要如何书写其它进制的数字呢?为 ...
- ES6学习笔记(三)——数值的扩展
看到这条条目录有没有感觉很枯燥,觉得自己的工作中还用不到它所以实在没有耐心看下去,我也是最近得闲,逼自己静下心来去学习去总结,只有在别人浮躁的时候你能静下心来去学去看去总结,你才能进步.毕竟作为前端不 ...
- 史上最全NOIP初赛知识点
CSP-J/S 第一轮知识点选讲 \(NOIP\)(全国青少年信息学奥林匹克竞赛)于2019年取消.取而代之的是由\(CCF\)推出的非专业级软件能力认证,也就是现在的\(CSP-J/S\).作为一名 ...
- 史上最全的CSP-J/S 第一轮知识点
CSP-J/S 第一轮知识点选讲 \(NOIP\)(全国青少年信息学奥林匹克竞赛)于2019年取消.取而代之的是由\(CCF\)推出的非专业级软件能力认证,也就是现在的\(CSP-J/S\).作为一名 ...
- [转载]CSP-J/S 第一轮知识点选讲
CSP-J/S 第一轮知识点选讲 转载自这里 感谢原博主的大力整理! 信息学史及基本知识 一.信息学及计算机史 计算机的顶级奖项:图灵奖.冯·诺依曼奖 图灵奖:由ACM(美国计算机协会)设立于1966 ...
- http2协议翻译(转)
超文本传输协议版本 2 IETF HTTP2草案(draft-ietf-httpbis-http2-13) 摘要 本规范描述了一种优化的超文本传输协议(HTTP).HTTP/2通过引进报头字段压缩以及 ...
- java中String类型转换方法
integer to String : int i = 42;String str = Integer.toString(i);orString str = "" + i doub ...
- C++——输入、输出和文件
一.C++输入和输出概述 1.1.流和缓冲区 C++程序把输入和输出看作字节流.输入时,程序从输入流中抽取字节:输出时,程序将字节插入到输出流中.对于面相文本的程序,每个字节代表一个字符,更通俗地说, ...
随机推荐
- .froxlor 玩起
其实,细想想, 这方面很有操作余地的哟.
- bzoj2734
非常巧妙地题目对于一个数x列出这样的矩阵x 2x 4x 8x ……3x 6x 12x 24x ………………………………不难方案数就是求取数不相邻的方案数考虑矩阵宽不超过logn,所以可以用状压dp解决 ...
- Delphi使用NativeXml访问XML文件
Delphi使用NativeXml访问XML文件 1.创建XML文件var Doc: TNativeXml;//声明上下文对象var filepath:string;//文件路径DOC:=TNativ ...
- [转]33 useful Keyboard Shortcuts for Run commond
原文: http://www.shortcutworld.com/en/win/Run-command.html 1. Calling Run CommandWin + r ...
- STM32F072B-DISCO 深入研究 中断系统
STM32F072B-DISCO 是我认为性价比最高的一款CPU的demo系统,以前一直在用PIC的CPU但最近几年ST异军突起,几次课题查找芯片无一例外都是ST,像USB,CAN,ZIGBEE等,S ...
- Windows玩转Docker(一):安装
Docker官网地址: http://www.docker.com/ 本文参照site: https://docs.docker.com/windows/ Docker 项目的目标是实现轻量级的操作系 ...
- (转载)关于having 1=1 和group by 爆表的思考和总结
上次在网上看到一篇关于having 1=1 和group by 爆表注射的文章,看得我晕乎乎的,为了了解其根本原理,我稍微学习了下数据库知识,翻了下资料,但有些资料找不到,于是,开始发挥本天才的思维来 ...
- Linux process state codes
Here are the different values that the s, stat and state output specifiers (header "STAT" ...
- C#中同时使用Lambda表达式和递归
Func<object, int> RTFunc = (RTFuncRT) => { return (RTFuncRT as Func<object, int>)(RTF ...
- Intersecting Lines - POJ 1269(判断平面上两条直线的关系)
分析:有三种关系,共线,平行,还有相交,共线和平行都可以使用叉积来进行判断(其实和斜率一样),相交需要解方程....在纸上比划比划就出来了.... 代码如下: ================== ...