十六进制转换

进制转换

孤街浪徒 提交于 2020-02-12 03:58:01
进制转换 为什么要学习进制 计算机只认识二进制,也就是0和1,为了更好学习计算机,首先就要深入理解什么是进制。 当初最早的程序员都是靠二进制写程序的,就是一堆人敲键盘的0和1来写程序。 后来过渡到十六进制,大家都在敲0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f来写程序。 二进制使用起来很不方便, 16进制或8进制可以解决这个问题,因为,进制越大,数的表达长度也就越短。 为什么偏偏是16或8进制,而不其它的? 2、8、16,分别是2的1次方、3次方、4次方。 这一点使得三种进制之间可以非常直接地互相转换。 8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。 可以明显地看到二进制只能写2个数,而十六进制可以写16个数,这大大地提高了编程的效率。 软件在编译器里是2进制的,在编辑器里是十六进制的,我们写的程序被编译器从十六进制转换成了二进制,多么牛逼啊! 不同进制之间的转换 十进制转二进制 首先从我们最熟悉的十进制和计算机最喜欢的二进制之间的转换开始。 给定一个十进制整数,要求转换为二进制。 首先要理解十进制转换为二进制的流程。 高中的时候就应该已经接触过了,总结起来一句话就是除2取余。 假设给定一个数7: 1.7 / 2 = 3......1 2.3 / 2 = 1......1 3.1 / 2 = 0......1 所以,十进制7 = 二进制111

2进制转10、16进制转2进制

亡梦爱人 提交于 2020-01-08 14:42:38
2进制转10进制 String e1= "00000010"; int e2 = Integer.parseInt(e1.trim(), 2);//获取的2进制转换成十进制 十六进制转2进制 public class hexString2binryString { public static String hexString2binaryString(String hexString) { if (hexString == null || hexString.length() % 2 != 0) return null; String bString = "", tmp; for (int i = 0; i < hexString.length(); i++) { tmp = "0000" + Integer.toBinaryString(Integer.parseInt(//十六进制转10,十进制转2 hexString.substring(i, i + 1), 16)); bString += tmp.substring(tmp.length() - 4); } return bString; } public static void main(String[] args) { System.out.println(hexString2binaryString("04"));

Java中int的各进制之间的转换

一个人想着一个人 提交于 2019-12-07 02:52:07
一、二、八、十、十六进制之间的转换 int n1 = 14; //十进制转成十六进制: Integer.toHexString(n1); //十进制转成八进制 Integer.toOctalString(n1); //十进制转成二进制 Integer.toBinaryString(12); //十六进制转成十进制 Integer.valueOf("FFFF",16).toString(); //十六进制转成二进制 Integer.toBinaryString(Integer.valueOf("FFFF",16)); //十六进制转成八进制 Integer.toOctalString(Integer.valueOf("FFFF",16)); //八进制转成十进制 Integer.valueOf("576",8).toString(); //八进制转成二进制 Integer.toBinaryString(Integer.valueOf("23",8)); //八进制转成十六进制 Integer.toHexString(Integer.valueOf("23",8)); //二进制转十进制 Integer.valueOf("0101",2).toString(); //二进制转八进制 Integer.toOctalString(Integer.parseInt("0101", 2));

01-进制转换

久未见 提交于 2019-12-06 03:22:56
# 一、十进制转其他进制 # 1、十进制转二进制 print(bin(10)) # 2、十进制转八进制 print(oct(10)) # 3、十进制转十六进制 print(hex(10)) # # 二、其它进制转十进制 # 1、二进制转十进制 print(int("10010101",2)) # 2、八进制转十进制 print(int("667",8)) print(6*(8**2)+6*(8**1)+7*(8**0)) # 3、十六进制转十进制 print(int("11A",16)) print(16**2+ 16+10) 运行结果 0b1010 0o12 0xa 149 439 439 282 282 来源: https://www.cnblogs.com/liangyf/p/11960128.html

进制转换

半腔热情 提交于 2019-12-04 04:53:22
一. 程序运行截图: (1)二进制转十进制,八进制,十六进制: (2)八进制转二进制,十进制,十六进制: (3)十六进制转十进制,二进制,八进制: (4)十进制转二进制、八进制、十六进制: 二. 函数介绍: (1)二进制转十进制,八进制,十六进制: //2进制转10进制 void two_ten(int a) { int i, s = 0; int result = 0; for (i = 1; a != 0; i *= 2) { if (a % 10 > 1) { s = 1;break; } else { result += (a % 10) * i; a /= 10; } } if (s == 1) printf("Error!\n"); else printf("\n二进制转换十进制为:%d\n", result); } //2进制转8进制 void two_eight(int a) { int i, j, k, s = 0; int p[30]; int result = 0; for (i = 1; a != 0; i *= 2) { if (a % 10 > 1) { s = 1;break; } else { result += (a % 10) * i; a /= 10; } } for (j = 0; result != 0; j++) { p[j] =

第二次博客作业: 函数+进制转换器v1.0beta

China☆狼群 提交于 2019-12-04 04:42:46
1.程序运行截图。 2.函数介绍。 一。 int erzhuanshi(char m) { int s=0,i=0,a,n; while(n!=0) { a=m%10; s+=a*pow(2,i); m=m/10; i++; } return s; } 二。 int bazhuanshi(int n) { int s=0,i=0,a; while(n!=0) { a=n%10; s+=a*pow(8,i); i++; n=n/10; } return s; } void PrintN1( int m ) { int a[100],i=0,c,count=0,t; while(m!=0) { c=m%2; a[i]=c; m=m/2; i++; count++; } for(i=0;i<=count/2;i++) {t=a[i];a[i]=a[count-i-1];a[count-i-1]=t; } printf("经转化后的数字为:"); for(i=0;i<count;i++) printf("%d",a[i]); } 三。 void PrintN2(int m) { int a[100],i=0,c,count=0,t; while(m!=0) { c=m%8; a[i]=c; m=m/8; i++; count++; } for(i=0;i<=count/2;i++) { t

第二次博客园作业

别来无恙 提交于 2019-12-04 04:41:47
函数+进制转换器v1.0beta 1,运行截图: (1)输入错误进制数: (2)输入错误转换进制数: (3)十进制转二进制演示: (4)十六进制转十进制演示:(加入了十六进制的计算) 2,代码演示: (1)将输入数转化为10进制: int Numberchange10(char a[], int N) { int l, i, num,sum=0; l = strlen(a);//验证字符串长度 for (i = 0; i < l; i++)//依次判断输入数的单个数字 { if (a[i] >= '0' && a[i] <= '9') num = a[i] - '0'; else if (a[i] >= 'A' && a[i] <= 'F') num = a[i] - 'A' + 10; sum = sum * N + num; } return sum;//返回10进制值 } (2)将10进制数转换为所求进制数: void Numberchange(int m, int N) { int n; if (m) { Numberchange(m / N, N);//函数循环 n = m % N; if (n < 10) printf("%d", n);//小于10直接输出 else printf("%c", n + 55);//大于10转换成字符输出 } } (3)main函数:

进制转换器

穿精又带淫゛_ 提交于 2019-12-04 04:37:29
进制转化器! 一.程序的运行截图 二进制转八进制,判断输入的二进制是否正确 八进制转二进制 八进制转16进制 十六进制转八进制 判断序号输入是否正确,二进制转16进制 二.额外功能 判断输入的数错误后提示输入正确的数,而不是退出程序。 三.运用到的函数 1.用来将16进制数转化为10进制数 long fun(char* s)//16进制转10进制 { int i, t; //t记录临时加的数 long sum = 0; t = 0; for (i = 0;s[i];i++) { if (s[i] >= '0' && s[i] <= '9') t = s[i] - '0'; //当字符是0~9时保持原数不变 if (s[i] >= 'a' && s[i] <= 'z') t = s[i] - 'a' + 10; if (s[i] >= 'A' && s[i] <= 'Z') t = s[i] - 'A' + 10; sum = sum * 16 + t; } return sum; } 2.用于将2,8,10进制转化为10进制 int ten1(int a, int b) // 2,8,10进制转10进制 { int t = 0, product = 1; while (a != 0) { t = t + (a % 10) * product; a = a / 10; product

进制转换

喜你入骨 提交于 2019-12-04 04:36:34
一、进制   进制就是进位计数制,是人为定义的带进位的计数方法。   对于任何一种进制—— X进制,就表示每一位置上的数运算时都是 逢 X 进一位 。   十进制就是逢十进一,二进制就是逢二进一,十六进制就是逢十六进一,以此类推。 二、进制转换   进制转换是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“ 基数 ”和“ 位权 ”构成。    基数 :进制计数制中所采用的数码(数制中用来表示“量”的符号)的个数。    位权 :进位制中每一固定对应的单位值。 三、进制转换结构图   最常用的进制转换是二、八、十、十六进制之间的相互转换,下面是各个进制之间关系的结构图。      下面对各个进制的转换进行详解。 四、进制转换算法     在数字后面加上不同的字母来表示不同的进位制。     B(Binary) 表示二进制,O(Octal) 表示八进制,D(Decimal) 或不加表示十进制,H(Hexadecimal) 表示十六进制。     例如:(101011)B = (53)O = (43)D = (2B) H   1、(二、八、十六进制) → (十进制)               (1)二进制 → 十进制       方法: 二进制数从低位到高位(即从右往左)计算,第0位的权值是2的0次方,第1位的权值是2的1次方,第2位的权值是2的2次方,依次递增下去

第二次博客作业: 函数+进制转换器v1.0beta

偶尔善良 提交于 2019-12-04 04:10:09
一、运行截图 (备注:二进制转换为八进制或者十六进制可以通过(4)(2)或者(4)(3)先把二进制转换成十进制在转换成八进制或者十六进制来实现,八进制和十六进制转换成其他进制也是如此。) 二、函数及功能 (1)ten_two函数(将十进制转换成二进制的函数) void ten_two() { printf("请输入一个十进制数:\n"); int n, a[100], item, m; scanf("%d", &n); item = 0; int i = 0; m = n; while (n > 0) { a[i] = n % 2; n = n / 2; i++; } int j; printf("%d的二进制数为:\n", m); for (j = i - 1; j >= 0; j--) printf("%d", a[j]); } (2)ten_eight函数(将十进制转换成八进制的函数) void ten_eight() { printf("请输入一个十进制数:\n"); int n, a[100], item, m; scanf("%d", &n); item = 0; int i = 0; m = n; while (n > 0) { a[i] = n % 8; n = n / 8; i++; } int j; printf("%d的八进制数为:\n", m);