进制转换
- 二进制0b开头,大小写都可以
- 八进制0开头
- 十六进制0x开头,x大小写都可以
任意进制转十进制:
系数*基数的权次幂相加
- 次数:每一【位】上的数
- 基数:几进制,就是几
- 权:从数值的右侧,0开始逐+1增加
十进制转二进制
除基取余
源数据除以基数,得到余数,直到商为0,倒拼起来
快速进制转换法
8421码,取1对应数字相加
原码反码补码
计算机中的数据,都是以二进制补码的方式运算,而补码是通过原码和反码推算出来的
-
原码(可直观看出数据大小):
最高位为符号位,【0】表示正,【1】表示负,其余7位表示数值大小。
-
反码:
正数与原码相同,负数是对原码逐位取反,但符号位除外。
-
补码(数据以该状态计算):
正数与原码相同,负数原码末位加1
位运算
-
位与【&】:遇false则false
-
位或【|】:遇true则true
-
位异或【^】:相同为false,不同为true(一个数被另一个数异或两次,该数保持不变)
-
取反【~】:全部取反,0变1,1变0(也包括符号位)
-
有符号左移【<<】,右边符号位丢弃,右边补齐0
-
有符号右移【>>】,根据符号位,补齐左边
-
无符号右移【>>>】,无论符号位是0还是1,都补0