Java(进制转换 原码补码反码操作)
进制
概念
进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位
十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位
进制分类及组成
二进制:由两个基本数字0,1组成,运算规律是逢二进一.计算机都使用二进制表示数据
八进制:由0、1、2、3、4、5、6、7组成,运算规律是逢八进一
十进制:由0,1,2、3、4、5、6、7、8、9组成
十六进制:由0~9以及A,B,C,D,E,F组成
进制位
二进制数系统中,位简记为b,也称为比特,每个二进制数字0或1就是一个位(bit)
计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0
位是数据存储的最小单位,其中8 bit 就称为一个字节(Byte),1KB不等于1000B
- 1B(byte,字节)= 8 bit;
- 1KB(Kibibyte,千字节)=1024B= 2^10 B;
- 1MB(Mebibyte,兆字节,百万字节,简称“兆”)=1024KB= 2^20 B;
- 1GB(Gigabyte,吉字节,十亿字节,又称“千兆”)=1024MB= 2^30 B;
- 1TB(Terabyte,万亿字节,太字节)=1024GB= 2^40 B;
- 1PB(Petabyte,千万亿字节,拍字节)=1024TB= 2^50 B;
小练习(需求:计算250的各种进制值)
十进制—>二进制
于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次记下每次的余数。
另外,所得到的商的最后一位余数是所求二进制数的最高位。
二进制—>十进制:
进制数第1位的权值是2的0次方,第2位的权值是2的1次方,第2位的权值是2的2次方……公式:第N位 * 2的N-1次方,结果再相加.
十进制—>八进制:
10进制数转换成8进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成8。
八进制—>十进制:
进制数第1位的权值为8的0次方,第2位权值为8的1次方,第3位权值为8的2次方
十进制—>十六进制:
10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成16。
十六进制—>十进制:
第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
图片
原码补码反码操作
概念
在计算机内,有符号数有3种表示法:原码、反码和补码,所有数据的运算都是采用补码进行的。
原码
就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码
负数的反码是对其原码逐位取反,但符号位除外。
补码
负数的补码是在其反码的末位加1。
注意
求反码的时候,最高位是符号位不能改变
正数的符号位是0
负数的符号位是1.
小练习
正数5:
5的二进制是:00000101
原码:00000101
反码:00000101
补码:00000101
负数:-5:
5的二进制是:00000101
原码:10000101
反码:11111010
补码:11111011