编程基础 二进制 解密

二进制基础

进制转换

十进制数字57转换为二进制方法:

用二进制表示57则为(按权展开):111001=2^(6-1)+2^(5-1)+2^(4-1)+2^(1-1)=32+16+8+1=57
![十进制换算二进制][2]
换算为二进制采用短除2
除法 商 余数
2|5 2 1
2|1 0 1
直到商为0,再将余数倒序排列
![常用进制的换算][3]
![适合计算机的进制8、16都是2的整数次方,所以常用。][4]
![二进制 8进制:适用于12和36位的计算机系统][5]
![二进制][6]
![常用进制的换算][7]
![二进制转十进制][8]

位运算

按位与 &: 同为1,为1 作用:清零、指定位求反
按位或 |: 同为0,才为0 作用:清零、指定位求反
按位异或 ^:相同,则为0 作用:清零 、做中间变量
正数:原码=补码=反玛;
负数:反码=^原码,补码=反码+1;
@二进制基础——位运算
一、异或作用
1、对某个数定位翻转:0^0=0 1^0=1 0^1=1 1^1=0
· 翻转位异或1
· 不翻转位异或0
2、两个变量值交换:A=A^B;B=A^B;A=A^B(条件:A!=B)
二、左右移
1、左移<< :左丢弃,右补0,但注意整形为32位
2、右移>> :右丢弃,左补0(整数)或者1(负数)
3、无符号右移>>> : 右丢弃,左补0
![负数以其正值的补码形式表示(1/2)原码反码补码][9]
![左移(<<)运算][10]
![右移(>>)运算][11]
![无符号右移(>>>)运算][12]
![二进制位运算][13]
(一)按位与&
特殊运输
(1)清零,如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都是零的数值相与,结果为零。
(2)取一个数中指定位:找一个数,对应x要取的位,该数的对应位为1,其余位为零,此数与x进行“与运算”可以得到x中的指定为
(二)按位或|

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值