C++各种进制的转换

 1 /*
 2 @author:CodingMengmeng
 3 @theme:各种进制之间的转换
 4 @time:2017-1-6 21:39:08
 5 @blog:http://www.cnblogs.com/codingmengmeng/
 6 */
 7 #include <iostream>
 8 using namespace std;
 9
10 //十进制数转换成二进制数
11 void decimal2Binary(int n)
12 {
13     if (n < 2)
14         cout << n;
15     if (n >= 2)
16     {
17         decimal2Binary(n / 2);
18         cout << n % 2;
19     }
20 }
21
22 //十进制数转换成八进制数
23 void decimal2Octal(int n)
24 {
25     if (n < 8)
26         cout << n;
27     if (n >= 8)
28     {
29         decimal2Octal(n / 8);
30         cout << n % 8;
31     }
32 }
33
34 //十进制转换成十六进制数
35 void decimal2Hex2(int n)
36 {
37     switch (n)
38     {
39         case 10:    cout << "A"; break;
40         case 11:    cout << "B"; break;
41         case 12:    cout << "C"; break;
42         case 13:    cout << "D"; break;
43         case 14:    cout << "E"; break;
44         case 15:    cout << "F"; break;
45         default:cout << n;
46     }
47 }
48
49 void decimal2Hex(int n)
50 {
51     if (n < 16)
52         decimal2Hex2(n);
53     if (n>16)
54     {
55         decimal2Hex(n / 16);
56         decimal2Hex2(n % 16);
57     }
58 }
59
60 int main(void)
61 {
62     int n;
63     cout << "input a value of n :" << endl;
64     cin >> n;
65     cout << "the results that decimal converts to binary,octal and Hex are as follows:" << endl;
66     decimal2Binary(n);
67     cout << endl;
68     decimal2Octal(n);
69     cout << endl;
70     decimal2Hex(n);
71     cout << endl;
72
73     getchar();
74     return 0;
75 }

运行结果:

时间: 2024-10-05 04:33:59

C++各种进制的转换的相关文章

java 的任意进制间转换

直接上代码: public class Main { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("十进制转换到其它进制:"); int x = 123 ; String str1 = Integer.toHexString(x) ; ///10进制转换成16进制的字符串 System.out.println(str1); String st

Java转义字符和进制的转换

一:转义字符 \r 表示接受键盘输入,相当于按下回车. \n 表示换行. \t  制表符,相当于Table键 \b 退格键,相当于Back Space \'  单引号 \'' 双引号 \\ 表示一个斜跨 注意:换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符 二:进制的转换 整数常量的表现形式:一进制的形式来表示(二进制,八进制,十进制,十六进制) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为0 ,将余数从下上连接起来就是二进

C#实现整型数据字任意编码任意进制的转换和逆转换

实现如下: using System; using System.Collections.Generic; using System.Linq; using System.Text;  namespace ConsoleApplication1 {      public class Number     {         public string Characters         {             get;             set;         }        

C# 10进制与62进制互转 数据大无压力 10进制与72,96进制任意转换

因项目需要把10进制的ID转换成62进制的字符串,分享给别人. 于是在网上搜索了很多算法,但都未能满足需要,项目里的ID是固定算法算出来的18~20位数据的ulong整型. 如:17223472272256398107,509488277152981097. 网上找的算法问题在于,将ulong的值转换62进制的字符串后,再将字符串转换成ulong值时会不准确. 于是各种测试与假象问题所在,最后确定算法确实没有问题,于是开始怀疑数据类型的问题. 果然,原因是使用了Math.Pow(double x

64进制编码转换

由于项目需要把一个ID(数字)压缩成尽可能短字符串,在网上找来好久没有找到合适, 自己动手写一个. 有需要的可以参考一下,也作为自己的一些积累吧! 代码如下: Java代码   /** * 64进制和10进制的转换类 * @author Administrator * */ public class compressEncodeing { final static char[] digits = { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , 

javascript 10进制和64进制的转换

原文:javascript 10进制和64进制的转换 function string10to64(number) { var chars = '0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ-~'.split(''), radix = chars.length, qutient = +number, arr = []; do { mod = qutient % radix; qutient = (qutient - m

iOS 将16进制字符串转换成UIColor

#pragma mark - 将16进制字符串转换成 UIColor - (UIColor *)generateColorObjectWithHex:(NSString *)hexString { unsigned int red = 0, green = 0, blue = 0; NSRange range = {0, 2}; range.location = 0; NSString *redString = [hexString substringWithRange:range]; NSSc

Python的进制等转换

To 十进制 二进制: >>> int('110', 2) -> 6 八进制: >>> int('10', 8) -> 8 十六进制: >>> int('10', 16) -> 16 >>> int('1A', 16) -> 26 To 十六进制: 十进制: >>> hex(12) -> ‘0xc’ 二进制: >>> hex(0b100) -> ‘0x4’ 八进制

将16进制字符串转换成16进制数据

var tb1 = Tb1.Text; if (string.IsNullOrEmpty(tb1)) { tb1 = "0000"; } var s1 = tb1.Substring(0, 2); var int_1 = Convert.ToInt32(s1, 16); var s2 = tb1.Substring(2, 2); var int_2 = Convert.ToInt32(s2, 16); var bt1 = Convert.ToByte(int_1); var bt2 =

iOS 16进制字符串转换成int十进制

NSRange rangeErr; rangeErr.location = 6; rangeErr.length = 2; NSString *strings = [value substringWithRange:rangeErr]; int errCode = (int)strtoul([strings UTF8String],0,16);  //16进制字符串转换成int NSString *ascStr = [NSString stringWithFormat:@"%c",re