第一天第一课 进制的转换

(一) 数值

计算机中采用的是

(二)数值转换制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点。为了便于描述,又常用八、十六进制作为二进制的缩写。一般技术都采用仅为计数,其特点是:逢N进一,N是每种进行计数制表示一位数所需要的符号数目为基数。 二进制:逢二进一,借一当二  八进制:逢八进一,借一当八  十六进制: 逢十六进一,借一当十六

不同的进位计数制之间的转换原则:不同的进位数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的。也就是,若转换前两数相等,转换后仍必须相等。

(三)十进制--二进制

十进制数除以二,除至0时所得余数按反方向写出,即为二进制数

二进制右数位数 1 2 3 4 5 6 7 8
十进制数   1 2 4 8 16 32   64 128
公式原型 2^0 2^1 2^2 2^3 2^4   2^5 2^6 2^7

(三)二进制--十进制 

计算公式:ax2^0+bx2^1+ax2^2+....nx2^(n-1)

以上公式中,a表示二进制数的 右边第一位的数,b表示二进制数的右边第二位的数,c表示二进制数的右边第三位的数....m表示二进制数的右边第(n-1)为的数.

(四)十进制--八进制

十进制数逐次整除8,直至商为0,所得余数按照相反的顺序写出,即为其八进制数.

从右边第N位 8 7 6 5 4 3 2 1
8^(n-1)
8^7

8^6 8^5 8^4 8^3 8^2 8^1 8^0
十进制下的实际数 2097152 262144 32768 4096 512 64 8 1

(五) 八进制--十进制

计算公式:ax8^0+bx8^1+cx8^2....+mx8^(n-1)

以上公式中,a表示八进制数的右边第一位的数,b表示八进制数的右边第二位数的数,c表示八进制数的右边第三位的数..m表示八进制数的右边第(n-1)位的数

(六) 十进制--十六进制

十进制数除以十六 , 数值超过十分别表示为 A(10) B(11) C(12)D(13)E(14)F(15)

十进制数逐次整除16,至商为0,所得余数按反顺序写出,即为十六制数

(七) 十六进制--十进制

计算公式:ax16^0+bx16^1+cx16^2+....mx16^(n-1)

16^3 16^2 16^1 16^0
4096 256 16 1

(八)二进制转换为八进制:对于整数,采用从右到左没三位一组,不够三位的在其左边补齐 0 ,每组单独转换出来即为八进制数

例:      001          101              111            011

1             5                  7               3

所以 1573即为所得八进制数.

(九) 八进制转换为二进制:将每位八进制有三维二进制数代替,即可完成转换

例:          1             7              3               5

001          111          011            101

所以 1111011101 即为所得的二级制数

二进制转换为十六进制:由于2的4次方=16 ,所以按照二进制与八进制的转换方法,即将二进制的每四位用一个十六进制数码来表示,整数部分一小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换

例:       1001                       0111                    0111                 1001

9                              7                        7                        9

所以9779 为所得的十六进制数

(十) 十六进制转换为二进制:只要将每一位十六进制数用四位相等的二进制数 表示,即可完成转换.

例 :            8                      7                       6                  5

1000                 0111                  0110             0101

所以 1000011101100101 为所得的二进制数

时间: 2024-10-05 06:44:05

第一天第一课 进制的转换的相关文章

js中基本类型的转换,进制的转换

一.基本类型的转换 1.数字转字符串 //直接给数字加空的字符串. var num=20; var str=20+" "; console.log(typeof str);//string //使用String()函数,让数字更加显示的转为字符串 var num=20; var str=String(num); console.log(typeof str);//string //使用toString()方法.toString()有一个参数,用来指定转换的基数.(十进制/二进制/八进制

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’ 八进制