10进制转换16进制补⾜0_⼆进制、⼋进制、⼗六进制,看完
你就懂了
社交媒体
⼀、什么是进制
在⽣活中,我们通常都是使⽤阿拉伯数字计数的,也就是10进制,以10为单位,遇10进⼀,所以是由0,1,2、3、4、5、6、7、8、9组成的;⽽在计算机中,计算机是⽆法识别10进制数的,它只能识别01代码,也就是⼆进制,由0、1两位数字组成,逢⼆进⼀。
那么什么是进制呢,进制就是进位制,是⼈们规定的⼀种数字进位⽅法;对于任何⼀种进制(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组成,运算规律是逢⼗六进⼀;
三、进制转换
以⼗进制数13为例,实现各进制数的转换:
1. ⼗进制和⼆进制之间相互转换:
⼗进制--->⼆进制:
对于整数部分,⽤被除数反复除以2,除第⼀次外,每次除以2均取前⼀次商的整数部分作被除数并依次记下每次的余数。
另外,所得到的商的最后⼀位余数是所求⼆进制数的最⾼位。
图1,⼗进制转⼆进制
⼆进制--->⼗进制:
进制数第1位的权值是2的0次⽅,第2位的权值是2的1次⽅,第2位的权值是2的2次⽅,依次计算,公式:第N位 * 2的N-1次⽅,结果再
相加便是最后结果。
图2,⼆进制转⼗进制
2. ⼗进制和⼋进制之间转换:
⼗进制--->⼋进制:
10进制数转换成8进制的⽅法,和转换为2进制的⽅法类似,唯⼀变化:将图1中的基数由2变成8,然后依次计算。
⼋进制--->⼗进制:
可参考图2中⼆进制的计算过程: 进制数第1位的权值为8的0次⽅,第2位权值为8的1次⽅,第3位权值为8的2次⽅,依次计算,公式:第N
位 * 8的N-1次⽅,结果再相加便是最后结果。
3. ⼗进制和⼗六进制之间转换:
⼗进制--->⼗六进制:
10进制数转换成16进制的⽅法,和转换为2进制的⽅法类似,唯⼀变化:将图1中的基数由2变成16,然后依次计算。
⼗六进制--->⼗进制:
第0位的权值为16的0次⽅,第1位的权值为16的1次⽅,第2位的权值为16的2次⽅,依次计算,公式:第N位 * 16的N-1次⽅,结果再相加便是最后结果。
4. ⼆进制和⼋进制之间转换: 可先转换为⼗进制在转换为⼆进制或者⼋进制二进制转换10进制快捷方法
5. ⼆进制和⼗六进制之间转换: 可先转换为⼗进制在转换为⼆进制或者⼗六进制
6. ⼋进制和⼗六进制之间转换: 可先转换为⼗进制在转换为⼗六进制或者⼋进制
四、⼆进制数字存储单位
在计算机的⼆进制数系统中,位简记为bit,也称为⽐特,是数据存储的最⼩单位,每个⼆进制数字0或1就是⼀个位(bit),也就是⼀⽐特;也可以把⼆进制中的0和1看做开关中的“开”和“关”,1表⽰“开”,0表⽰“关”。
8 bit(位)= 1B,也就是⼀个字节(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;
以上这些是⼆进制数的存储单位计算规则,⽽在硬盘容量也能看到类似的单位,但是硬盘的容量通常是以⼗进制标识的,所以显⽰有500G 容量的硬盘实际容量却不⾜500G。
五、原码、反码和补码
在计算机内,有符号数(这⾥的符号指的是正负符号,有符号数指的就是正负数)有3种表⽰法:原码、反码和补码,所有数据的运算都是采⽤补码进⾏的:
1. 正数的原码,反码,补码都相同;
2. 负数的有些不同,详情如下:
原码:根据⼆进制定点表⽰法,⼆进制最⾼位为符号位,“0”表⽰正,“1”表⽰负,其余位表⽰数值的⼤⼩。
反码:负数的反码是对其原码逐位取反(0变1,1变0),但符号位除外。
补码:负数的补码是在其反码的末位加1(逢⼆进⼀)。
需要注意的是:求反码的时候,最⾼位(符号位)是不能被改变的, 正数的符号位是0,负数的符号位是1。
例⼦:分别求出5和-5的原码、反码和补码
原码、反码和补码