进制


进制转换

任意进制到十进制的转换

公式:系数*基数的权次幂相加

  • 系数:每一【位】上的数

  • 奇数:几进制

  • 权:从数值的右侧,从0开始,逐个+1


image


十进制到任意进制的转换

公式:除基取余

使用源数据,不断地除以基数得到余数,直到商为0,再将余数倒着拼起来。


image


快速进制转换法
二进制转十进制
  • 8421码(BCD码Binary-Coded Decimal)
128 64 32 16 8 4 2 1

对应1位相加即可得到十进制

二进制转八进制

将三个二进制看作一组,再进行转换

例:111100:最终转换为八进制结果为0D74

image

二进制转十六进制

将四个二进制看作一组,再进行转换

例:00111100,转换为16进制:0X3C

image

二进制的原码、补码、反码

原码:

二进制定点表示法,最高位为符号位,0表示正,1表示负,其余位表示数值的大小。

反码:

正码的反码与其原码相同;负数的反码是对其原码逐位取反,符号位除外。

补码:

正数的补码与其原码相同;负数的补码是在其反码的末位+1。

例:
-7
原码:1 0000111
反码:1 1111000
补码:1 1111001

位运算

位运算是对于二进制来说的运算

0表示false,1表示true

  • 位与(&):全都为true时才为true

  • 位或(|):有一个为true时就为true

  • 位异或(^):相同为false,不同为true

  • 取反(~):全部取反

位移运算符

<<:有符号左移运算:二进制位向左移动,左边符号位丢弃,右边补齐0。

向左移动几位,就是乘以2的几次幂

>>:有符号右移运算:二进制位向右移动,左侧用符号位补齐,右侧最后一位丢弃

向右移动几位,就是除以2的几次幂

>>>:无符号右移运算符:无论符号位是正数还是负数,都用0进行补位


image


一个数被同一个数异或两次,不会发生变化


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM