进制转换

进制转换

痴心易碎 提交于 2019-12-17 11:08:56
  进位计数制    生活中我们常用的是10进制,但在计算机中数据都是以2进制的形式保存的。因此,熟练掌握2进制的特点和运算是编写程序并不可少的前提。   一般来说, 进位计数制 包含三个要素: 数制使用的数码:十进制含10个数码0~9,二进制含2个数码0和1等。 进位规则:十进制为逢十进一,二进制为逢二进一等。 每一个数位上数码所具有的权:十进制数码各位的权是以10为底的幂,二进制数码各位的权是以2为底的幂。   一般而言,对于用R进制表示的数N(R为任意正整数),可以按权展开为:   N=K n ×R n +K n-1 ×R n-1 +…+K 1 ×R 1 +K 0 ×R 0 +K -1 ×R -1 +…+K -m ×R -m (公式A)   例:828.8 = 8×102+2×101+8×100+8×10 -1 ,这里必须要注意的是任何进制中个位数的权值都是1,从右往左权值越来越大。   常用进制   在计算机中,常用的进制有四种:2进制(代号B),8进制(代号O),16进制(代号H)和10进制(代号D),其中16进制所用的数码为0-9和A-F(A代表10,F代表15)。这里之所以加入了8进制和16进制,是因为用2进制表达数值需要的位数往往很大,不便于书写和阅读。   不同的进位计数制之间需要进行转换,而且以10进制与2进制之间的转换为主,需要熟练掌握。另外为了今后的计算方便

c#16进制10进制转换

这一生的挚爱 提交于 2019-12-16 14:56:45
//十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Console.WriteLine(Convert.ToString(69, 8)); //十进制转十六进制 Console.WriteLine(Convert.ToString(69, 16)); //二进制转十进制 Console.WriteLine(Convert.ToInt32(”100111101″, 2)); //八进制转十进制 Console.WriteLine(Convert.ToInt32(”76″, 8)); //C# 16进制转换10进制 Console.WriteLine(Convert.ToInt32(”FF”, 16)); 在C#中可以对整型运算对象按位进行逻辑运算。按位进行逻辑运算的意义是:依次取被运算对象的每个位,进行逻辑运算,每个位的逻辑运算结果是结果值的每个位。 C#支持的位逻辑运算符如表2所示。 运算符号 意义 运算对象类型 运算结果类型 对象数 实例 ~ 位逻辑非运算 整型,字符型 整型 1 ~a & 位逻辑与运算 2 a & b | 位逻辑或运算 2 a | b ^ 位逻辑异或运算 2 a ^ b << 位左移运算 2 a<<4 >> 位右移运算 2 a>>2 1、位逻辑非运算 位逻辑非运算是单目的

计算机进制转换

﹥>﹥吖頭↗ 提交于 2019-12-11 16:28:10
计算机中全部采用二进制表示,只包含0、1两个数,逢二进一,1+1=10,每个0或每个1,叫做1个bit(比特) - 十进制数6转换成二进制数据:使用除2取余数的方式 来源: https://www.cnblogs.com/nan-qiu/p/12023279.html

高精度进制转换(poj1220)

微笑、不失礼 提交于 2019-12-06 06:53:57
常规短除法原理 高精度进制转换是对于特别大的数字来说的,当数字特别大时,难以进行除法和取余的操作,此时通过字符串模拟的办法可以解决。 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; const int maxn = 2000 + 5; int niput[maxn]; int noput[maxn]; char iput[maxn]; //原数字 char oput[maxn]; //转换后的数字 int m,n; //原进制,转换后的进制 char num_to_char(int val)//数字与字符对应关系 A-Z对应10-36 a-z对应37-62 { if(val>=0&&val<=9)return val+'0'; if(val>=10&&val<=35)return val-10+'A'; return val-36+'a'; } int char_to_num(char ch) { if(ch>='0'&&ch<='9') return ch-'0';//数字 if(ch>='A'&&ch<='Z') return ch-'A'+10;//大写字母 return ch-'a'

js 进制转换

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-06 04:29:45
js 进制转换 js 进制转换支持 2-36 , 即 0-9a-z . 可以用于混淆、数值缩短、特殊符号转换… // 取值 2-36 (1234).toString(36) // 把 10 进制数转为 36 进制 parseInt('ya', 36) // 把转 36 进制 ya 为 10 进制 以下是一些应用. 字符串36进制编码解码 function enStr(strLong = '你好'){ const num2 = 36; let aryLong = ''; let result = ''; for (const item of strLong) { if (aryLong.length > 0) aryLong += '|'; aryLong += item.charCodeAt().toString(num2); } return aryLong } function deStr(aryLong = 'fog|hod') { const num2 = 36 let result = '' for (const item of aryLong.split('|')) { result += String.fromCharCode(parseInt(item, num2)); } return result } console.log('enStr()', enStr(

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 20:44:36
Python中进制转换及int()函数 python内部进制转换: 明确一个概念,即所谓的16进制,10进制,2进制,只是一种整型数值的表示方法表示方法,同一个数值可以有的16进制,10进制,2进制的表示,也可以使用16进制,10进制,2进制来创建同一个数值。并且一般在一定范围内,不同方式表示的同一个数字在内存中的存储结构也是相同的。 整形类数值根本就没有进制转换的概念 进制转换 字符串表示的数值可以称它为字符型数值,这是一种数值的表示方法,其本质上是一些由数字和若干字幕所组成的用来表示一个数值的字符串,所谓的进制转换,都要围绕着它来进行。 进制转换三种方法: 进制转换都可以分为: 1、整型转换为字符字符型数值 bin()\ oct()\ hex()\str() (10进制,以及使用专有表示法定义的2/8/16进制整型) 2进制、8进制、10进制、16进制、的整型数值转字符型数值函数 2、字符型数值转换为整型 int() 3、字符型数值互转 转换,可以参照下面的进制转换表\ 进制转换表: ↓ 2进制 8进制 10进制 16进制 2进制 - bin(int(x, 8)) bin(int(x, 10)) bin(int(x, 16)) 8进制 oct(int(x, 2)) - oct(int(x, 10)) oct(int(x, 16)) 10进制 str(int(x, 2)) str

进制转换器

只愿长相守 提交于 2019-12-04 07:06:24
运行截图 一 二、函数功能介绍 1. int step_1(char m[],int n){ int a,b=0,c,i; c=n+48; a=strlen(m); for(i=0;i<a;i++){ if(n<=10){ if(m[i]<0||m[i]>=c){ b=1; break; } }else{ if(m[i]<'0'||m[i]>'9'&&m[i]<'A'||m[i]>'F'){ b=1; break; } } } return b; } 分析所输入的数字是否符合所输入进制的格式 2 void step_2(int m,int n){ int a,b; if(n==2){ printf("八进制:"); unchange10(m,8); printf("十进制:"); printf("%d\n",m); printf("十六进制:"); unchange10(m,16); }else if(n==8){ printf("二进制:"); unchange10(m,2); printf("十进制:"); printf("%d\n",m); printf("十六进制:"); unchange10(m,16); }else if(n==10){ printf("二进制:"); unchange10(m,2); printf("八进制:"); unchange10(m,8);

第二次博客作业进制转换

我是研究僧i 提交于 2019-12-04 04:52:37
一、运行截图 先将其转换至10进制,再转换到所需的进制 当你要输入一个二进制数的时候,你输入的却不是一个二进制数,那么这个时候应该要输出一个错误提示,告诉你你的这个操作是错误的 二进制转16进制 二、函数介绍 通过将一个进制数先转换成十进制数,再将其转换成所需进制,通过10进制容易转换为其他进制来精简代码。 #include<stdio.h> #include<string.h> #include<stdlib.h> int TenNum(char a[], int B); //将输入的数字转换成10进制数 void Numchange(int m, int B); //将转换好了的10进制数转换为所需进制数 int TenNum(char a[], int B) { int len, i, num; int sum = 0; len = strlen(a); //求得字符串长度 for (i = 0; i < len; 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 * B + num; } return sum; } void Numchange(int m, int B)

进制转换器V1.0_Beta

喜夏-厌秋 提交于 2019-12-04 04:40:28
一.截图部分 二.代码部分: char2num() 作用:将字符转化成对应的数字 e.g. '9'->9 'A'->10 int char2num(char ch) { if (ch >= '0' && ch <= '9') { return ch - '0'; } else { return ch - 'A' + 10; } } char num2char() 作用:将数字转化成对应的字符 e.g. 9->'9' 10->'A' char num2char(int num) { if (num >= 0 && num <= 9) { return (char)('0' + num); } else { return (char)('A' + num - 10); } } is_false() 作用:判断输入是否正确,对返回0,错返回1 int is_flase(char ch[], int n) { int i, len, flag = 0; len = strlen(ch); for (i = 0; i < len; i++) { if (char2num(ch[i]) < 0 || char2num(ch[i]) >= n) flag = 1; } return flag; } any2ten() 作用:将任意进制转化为十进制 int any2ten(char str[]