十进制转二、八、十六进制的字符串

这是我自己写的代码,有问题希望指出。

十进制转二进制

 1 class  DecToBin
 2 {
 3     public static void main(String[] args)
 4     {
 5         //System.out.println("Hello World!");
 6         long dec = -9223372036854775807l;
 7                 // -9223372036854775808 这个数不行,不要试,嘿嘿
 8         String binStr="";
 9         long decAbs=Math.abs(dec);
10         while (decAbs>0)
11         {    binStr=(decAbs&1)+binStr;
12             decAbs>>=1;
13         }
14         binStr= dec<0?"-"+binStr:dec==0?"0":binStr;
15
16         System.out.println(binStr);
17     }
18 }

十进制转八进制

 1 class  DecToOct
 2 {
 3     public static void main(String[] args)
 4     {
 5         //System.out.println("Hello World!");
 6         long dec=-0;//有-0 吗?
 7         String octStr="";
 8         long decAbs=Math.abs(dec);
 9         while (decAbs>0)
10         {    octStr=(decAbs&7)+octStr;//
11             decAbs>>=3;
12         }
13         octStr= dec<0?"-"+octStr:dec==0?"0":octStr;
14         System.out.println(octStr);
15     }
16 }

十进制转十六进制

 1 class DecToHex
 2 {
 3     public static void main(String[] args)
 4     {
 5         System.out.println("Hello World!");
 6         long dec=-1;//计算器的负数不会弄 -。-
 7         String hexStr="";
 8
 9         long decAbs=Math.abs(dec);
10         while(decAbs>0)
11         {    long lastFour=decAbs&15;
12             if (lastFour>9)
13             hexStr=(char)(‘A‘+lastFour-10)+hexStr;
14             else hexStr=lastFour+hexStr;
15             decAbs>>=4;
16         }
17
18         hexStr= dec<0?"-"+hexStr:dec==0?"0":hexStr;
19         System.out.println(hexStr);
20     }
21 }
时间: 2024-12-16 19:53:34

十进制转二、八、十六进制的字符串的相关文章

c# 十进制转二、八、十六进制

一.十进制转二.八.十.十六进制字符串 Convert.ToString(int decNum,int toBase); decNum为十进制字符串, toBase可以为2.8.10.16 如果要转换为2进制,则如下所示: int dec = 11; string bin = Convert.ToString(dec, 2); 结果为:1011 其他诸如8.10.16进制的类似.

判断是否十六进制格式字符串

/// 判断是否十六进制格式字符串             public bool IsHexadecimal(string str)        {            const string PATTERN = @"[A-Fa-f0-9]+$";            return System.Text.RegularExpressions.Regex.IsMatch(str, PATTERN);        } /// 判断是否八进制格式字符串            

将十六进制的字符串转化为UIImage

最近写一个项目,有验证码,但是接口返回的并不是验证码图片的URL,而是返回的字节数组16进制字符串.这样就需要把16进制字符串首先字节数组,其次再把字节数组转化为NSData,最后再把NSData转化为UIImage.其中最重要的是如何把16进制的字符串转换为字节数组.首先要把字节数组和16进制关联起来.1字节(byte)就是8个位(bit).一个位就代表一个0或1(即二进制) .4个二进制数组成一个十六进制数.这样就把16进制的字符串和字节数组关联起来了.总结出来就是1个字节(byte) =

UVA 10010- Where&#39;s Waldorf?(八方向寻找字符串)

Where's Waldorf? Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Description  Where's Waldorf?  Given a m by n grid of letters, ( ), and a list of words, find the location in the grid at which the word can be foun

[C/C++]_[输出内存数据的二进制和十六进制的字符串表示]

场景: 1. 在读取文件或内存时,有时候需要输出那段内存的十六或二进制表示进行分析. 2. 标准的printf没有显示二进制的,而%x显示有最大上限,就是8字节,超过8字节就不行了. test_binary_hex.cpp #include <stdlib.h> #include <string.h> #include <stdio.h> #include <assert.h> #include <stdint.h> #include <i

第八周(字符串类)

/* *copyright(c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:第八周(字符串类) *作者:王忠 *完成日期:2015.4.29 *版本号:v1.0 * *问题描述:构造String类的加.减运算.其中,s1 + s2将两个字符串的连接起来:s1 - s2是将s1的尾部空格和s2的前导空格去除后的连接. 提示:有指针成员,设计时要注意. *输入描述: *程序输出: #include <iostream> #include <cstr

C/C++ —— 十六进制类型字符串的转换

在实际工作中,字符串和其它数据类型的转换是很常见的,库函数有很多,比如 atoi , strtol , sscanf 等,这些函数网上有很多资料, 我经常用到的就是十六进制的数值以字符串的形式传输,然后又要解析,这里记录一下我这边的做法: 将2个字节的十六进制的字符串转成short int 2个字节的整形数据: 撰写不易,转载请注明出处:http://blog.csdn.net/jscese/article/details/39054969 short int xstrtoshortint(ch

【C语言天天练(八)】字符串

字符串是一种重要的数据类型,但C语言中没有显式的字符串数据类型.头文件string.h中包含了大多数对字符串的操作函数.因此,有字符串的操作时,一般会包含string.h头文件. 1.字符串的长度:对字符串进行的操作中,经常要对它进行求长度的操作.字符串的长度就是它所包含的字符个数.size_t strlen(char const *string); 注意:strlen返回一个类型为size_t的值,它是一个无符号整数类型.在表达式中使用无符号数可能导致不可预料的结果. 如下面两条表达式并不相等

c语言(?二维数组、字符串数组、多维数组)课堂笔记加作业

// //  main.m //  1-19课程笔记 //  二维数组.字符串数组.多维数组 //  讲师:小辉 //  笔者:王学文 //  Created by lanouhn on 15/1/19. //  Copyright (c) 2015年 lanouhn. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { /* //一维数组 int

Python将形如”\xe4...&quot;的十六进制编码字符串恢复为中文

今天处理的一个文件里面中文都变成了形如"\xe4..."的十六进制编码,其他字符正常. 大致研究了下发现这些编码三个一组表示一个汉字,由于文本中夹杂着正常符号,我决定用正则匹配方式将三个一组的十六进制码字符串替换为其代表的汉字. 输入文件内容如: #\xE5\xBE\xAE\xE6\x84\x9F\xE8\xB0\xA2##\xE6\x8A\xA5\xE5\x96\x9C\xEF\xBC\x9A\xE4\xBA\x91\xE6\xA3\x80\xE7\xB2\x89\xE4\xB8\x