----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
【进制转换】23 十进制 0-9 逢10进1在计算机或着内存当中存放的都是二进制
023 八进制 0-7 逢8进1 用0开头表示
0x4a2c 十六进制 0-9 A-F 逢16进1 用0x开头表示
二进制 逢2进1 10101010 二进制基本单位是位【字节是由8个开关(8个二进制)组成的】
二进制表示一个数据特别长,二进制的基本单位是位,由8个二进制位来组成一个数据单元,叫字节
【编码表的由来】
010..001 ---A【十进制转二进制】
011..001 ---B
键盘输入A,内存里就是010..001,就形成了对应关系
随着数据量的增多,就演变成了一张表[编码表](老美使用的编码表ASCII)
原理【对十进制数进行除2运算取余,结果为从下向上取余=从左到右】
6的二进制:
2 |_6 0
2 |_3 1
1
从下往上写 110
【二进制转十进制】
【十进制转十六进制】原理:110从右边第一位0开始,每一位乘以2的当前位(从第0位开始)次方,最后把结果相加,0对应的不用加都是0
二进制110转十进制:
1 1 0
4 2 1
4 + 2 = 6
转成二进制算方便【把二进制4位变1位就成了16进制】
90【十进制转八进制】
0101-1010
5 10
5 A0x5A
把二进制3位变1位就成了8进制【421】
90
0101 1010
001 011 010 逢8进1
1 3 2
132
负数的二进制表现形式:整型32位 占四个字节
6 = 0000-0000 0000-0000 0000-0000 0000-0110
【反码】
正数的反码:加1取负:如~1=-2,~2=-3,~6=-7,~54=-55
如求6的二进制反码:取反减1,保留符号位取反
1、得到6的二进制形式: 0000-0000 0000-0000 0000-0000 0000-0110
2、逐位取反: 1111-1111 1111-1111 1111-1111 1111-1001
3、减1: 1111-1111 1111-1111 1111-1111 1111-1000
4、除符号位外逐位取反: 1000-0000 0000-0000 0000-0000 0000-0111
5、将其转化为十进制,既得6的反码为-7
负数的反码:取正减1:如~-2=1,~-3=2,~-7=6,~-55=54
如求-7的二进制反码:
1、得到-7的原码: 1000-0000 0000-0000 0000-0000 0000-0111负数的最高位都是1
2、逐位取反: 0111-1111 1111-1111 1111-1111 1111-1000
3、加1: 0111-1111 1111-1111 1111-1111 1111-1001
4、除符号位外逐位取反:0000-0000 0000-0000 0000-0000 0000-0110
5、将其转化为十进制,既得-7的反码为6