二进制:
十进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
二进制 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 |
标准算法:不论大小,只要计算准确,则结果准确;
乘除法运算,速度不快,准确率不高。
十进制---二进制:除2取余。
举例:125
二进制:01111101
二进制---十进制:乘2取幂
举例:11100111
1*2^7+1*2^6+1*2^5+1*2^2+1*2^1+1*2^0
=128+64+32+4+2+1=231.
装水桶法:
优点:加减法运算,速度快,准确率高;
缺点:不适合计算较大的数字。
(1)建立水桶:
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
(2)十进制转二进制:减法。
举例:197
197-128=69-64=5-4=1--------------11000101
(3)二进制转十进制:加法。
举例:10111011
128+0+32+16+8+0+2+1=187
十六进制:
每个十六进制数,用四个二进制位表示
十六进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 |
十进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
十六进制转十进制:举例6A
十六进制 | 6A | |
拆开 | 6 | A |
转化为二进制 | 0110 | 1010 |
将二进制连接 | 01101010 | |
将二进制转为十进制 | 26+25+23+21=64+32+8+2=106 |
十进制转十六进制:举例165
十进制 | 165 | |
转为二进制 | 165-128=37-32=5-4=1 10100101 | |
二进制转为十进制 | 1010 | 0101 |
二进制转为十进制 | 10 | 5 |
将十进制转为十六进制 | A5 |
八进制:
每个八进制数,用3个二进位表示。
八进制和十进制的转换方式同十六进制和十进制的转换方式。
进制表示:
十进制 | 二进制 | 八进制 | 十六进制 |
Decimal system (D) | Binary system(B) | OCT (O) | HEX (H) |
技巧:
我们把8位二进制分成2组,高四位和低四位
高四位:128 64 32 16
低四位: 8 4 2 1
(1)右侧连1减1法
从右侧第一位开始,有几个1,对应的结果是,前一位代表的十进制减1
例:0000 1111
从右侧开始低四位都是1,那么它的结果为前一位16-1=15
(2)左侧连1死记法
与上一种方法不同的是,它是从左侧开始连续是1,而且它是要熟记的
1000 0000 = 128
1100 0000 = 192
1110 0000 = 224
1111 0000 = 240
将这四组数记牢,可以大大提升计算效率。
将两种方式结合使用,效率会更高,将多个数相加,转换为几个数相加
举例1:1110 0111
这个用刚讲过的方法是不是很快呢? 1110=224 0111=7 224+7=231,将6个数相加,变成两个数
举例2: 1101 0011
这个依然可以用我们的方法,变成三个数相加 192+32+3=225.
多练习,你会发现,这个方法很好用!!