黑马程序员技术交流社区
标题:
【太原校区】进制的转换
[打印本页]
作者:
WJT5813
时间:
2017-10-17 18:53
标题:
【太原校区】进制的转换
/*
★ 二进制的表现方式: 0b 代表二进制。
★ 八进制的表现方式: 0 代表八进制。
★ 十进制的表现方式: 逢十进一,每个位上最大的是9。
★ 十六进制的表现方式: 0x 代表十六进制。(0123456789ABCDEF)
★ 负数的二进制: 整数的最高位都是符号位( 0 代表正数【+】,1 代表负数【-】)
原码变补码: 补码变原码:
原码 补码
取反 -1
反码 反码
+1 取反
补码 原码
简便转法:从左往右, 1 变 0 ,0 变 1 ,到最后一个1开始不变了。
// 二进制转换十进制:
例:0b1111110转十进制
方式一:
二进制 十进制
10000000 128
- 1 - 1
-------------------------
1111111 127
- 1 - 1
-------------------------
1111110 126
方式二:
二进制 算法 十进制
1111110 2+4+8+16+32+64 = 126
↓
(0*2^0+1*2^1+1*2^2+1*2^3+1*2^4+1*2^5+1*2^6)
↓
(0+2+4+8+16+32+64)
// 十进制转换二进制:
例:12转二进制
方式一:
2 | 12 余数
——————
2 | 6 0
——————
2 | 3 0
——————
2 | 1 1
——————
0 1
十进制:12 二进制:1100
方式二:
12 是 8 + 4 1100
123 是 64 + 32 + 16 + 8 + 2 + 1 1111011
// 二进制转换八进制和十六进制:
例: 二进制的: 0b 11111111
↓ ↓ 从右三位的顺序计算为:011 111 111 → 0*2^2+1*2^1+1*2^0 1*2^2+1*2^1+1*2^0 1*2^2+1*2^1+1*2^0 → 377
八进制的: 0 377
↓ ↓ 计算方法为:3*8^2 + 7*8^1 + 7*8^0 = 255
十进制的: 255
↓ ↓ 从右四位的顺序计算为: 1111 1111 → 1*2^4-1 1*2^4-1 → 15 15 → F F
十六进制的: 0x FF
*/
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2