彻底弄明白十六进制
2012-06-26 10:50
477 查看
十六进制举例说明 10进制的32表示成16进制就是:20
16进制的32表示成10进制就是:3×16^1+2×16^0=50
二进制转换十进制
二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……所以,设有一个二进制数:101100100,转换为10进制为:356
用横式计算
0 X2^0 + 0X 2^1 + 1X 2^2 + 0X2^3 + 0X2^4 + 1 X2^5 + 1 X2^6 + 0 X 2^7 + 1X 2^8 = 356
0乘以多少都是0,所以我们也可以直接跳过值为0的位:
1X 2^2 + 1 X2^5 + 1X 2^6 + 1X 2^8 = 356
4 + 32 + 64 + 256 =356
八进制转换十进制
八进制就是逢8进1。八进制数采用 0~7这八数来表达一个数。
八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……
所以,设有一个八进制数:1507,转换为十进制为:839,具体方法如下:
可以用横式直接计算:
7 * 8^0 + 0 * 8^1 + 5 * 8^2 + 1 * 8^3 = 839
也可以用竖式表示
第0位 7 * 8^0 = 7
第1位 0 * 8^1 = 0
第2位 5 * 8^2 = 320
第3位 1 * 8^3 = 512
十六进制转换十进制
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。
假设有一个十六进数 2AF5
直接计算就是:
5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997
也可以用竖式表示:
第0位: 5 * 16^0 = 5
第1位: F * 16^1 = 240
第2位: A * 16^2 = 2560
第3位: 2 * 16^3 = 8192
-------------------------------------
10997
现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。
假设有人问你,十进数 1234 为什么是 一千二百三十四?你尽可以给他这么一个算式:
1234 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0
相关文章推荐
- 浅谈Async和Await如何简化异步编程(几个实例让你彻底明白)
- 8句话让你彻底明白什么是大数据营销
- 让你彻底明白JAVA中堆与栈的区别
- 两分钟彻底让你明白Android Activity生命周期(图文)!
- 两分钟彻底让你明白Android Activity生命周期(图文)!
- 两分钟彻底让你明白Android Activity生命周期(图文)!
- javascript通常建立接口的三种方式(彻底的明白了)
- 【转】两分钟彻底让你明白Android Activity生命周期(图文)!----不错
- 彻底明白Java的IO系统-2
- struct和typedef struct彻底明白了~~~~~~~转载+自己的东西
- 彻底明白Java的IO系统---JAVA之精髓IO流
- 彻底明白Java的IO系统(文摘)---JAVA之精髓IO流
- 彻底明白Java的IO系统
- [转]两分钟彻底让你明白Android Activity生命周期(图文)
- 两分钟彻底让你明白Android Activity生命周期(图文) .
- 彻底明白IP地址
- 彻底明白Java的IO系统
- 让你彻底明白什么叫游戏引擎(2)
- 两分钟彻底让你明白Android Activity生命周期(图文)!
- 两分钟彻底让你明白Android中onInterceptTouchEvent与onTouchEvent