进制转换-原码、反码、补码
概念:二进制既逢2进1,三进制逢3进1,....八进制逢8进1等等。
计算机cpu原件状态为开和关组成。为了简化表示设定开关用0和1表示,如下图示:
二进制为每4位为一组,不够4位的左边补0.
根据国际组织制定标准由8个这样的信号组成称为字节(byte)既:
1byte | = | 8bit |
1KB | = | 1024byte |
1MB | = | 1024KB |
1GB | = | 1024MB |
1TB | = | 1024GB |
为了便于区分进制设定标准标识符:
0b开头代表二进制,例如0b110
0开头代表八进制,例如0110
整数代表十进制,例如110
0x开头代表十六进制。例如0x110
n转十进制公式:数值乘以进制的n-1次方
xyz=x*n^2+y*n^1+z*n^0
十进制转十进制:
例如12345=1*10^4+2*10^3+3*10^2+4*10^2+4*10^1=10000+2000+300+40+5=12345
二进制转十进制:
例如0b100=1*2^2+0*2^1+0*2^0=4+0+0=4
八进制转化十进制:
例如0100=1*8^2+0*8^2+0*8^0=64+0+0=64
十六进制转化十进制:
例如0x100=1*16^2+0*16^1+0*16^0=256+0+0=256
十进制转n公式:转几进制就除以几进制,除至0为止,取余余数翻转从下往上读。
十进制转二进制:十进制52=》二进制110100,表达式0b110100
52/2=26.....0
26/2=13......0
13/2=6......1
6/2=3......0
3/2=1......1
1/2=0......1
十进制转八进制:十进制52=》八进制64,表达为064
52/8=6......4
6/8=0.......6
十进制转十六进制:十进制52=》十六进制34,表达为0x34
52/16=3.......4
3/16=0......3
快捷对照8421对照表
二进制 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
十进制 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
例如十进制转二进制
十进制52包含在二进制的第6位中既一共六位并且第六位为1*****
52-32=20包含在二进制的第5位中既为11****
20-16=4包含在二进制的第三位中,中间不满足的补0既1101**
4-4=0故后面余位补0,既110100
例如二进制110100转十进制
1在第几位就是对应的数值相加既32+16+4=52
结束:
----------------------------------------------------------------------------------------
原码、反码、补码
A、已知某数X的原码为10110100B,请问它的反码和补码?
反码:与原码相反 补码:反码加1
符号位 数值位
原码:1 0110100
反码:1 1001011
补码:1 1001100
B、已知某数X的补码为11101110B,请问它的反码和原码?
原码:与反码相反 反码:补码减去1
符号位 数值位
补码:1 1101110
反码:1 退1 1101101
原码:1 相反 0010010
注意计算机数据运算时都是补码进行运算的。
请思考:3+7在计算机中如何运算的?
结束:
----------------------------------------------------------------------------------------