学习二进制了解计算机的源头

二进制

1.什么是二进制?

  • 十进制计数使用10作为基数,二进制使用2作为基数,二进制的位数就是2^n的形式。
    例如:二进制110,首先基数是“2”;坐高右低原则就是“2 1 0”分别对应最左边的“1 1 0”;其实坐高右低就是从右边以0开始然后依次加一,这个是进行幂运算的多少次方的数字。所以这个二进制数转换成我们日常的十进制的计算规则就是:12^2 + 12^1 + 0*2^0;最终结果就是 4 + 2 + 1 = 7;

2.计算机为什么使用二进制?

  • 二进制的数据表达具有抗干扰能力强、可靠性高的优点;二进制非常适合逻辑运算。
    在计算机世界,1代表真,0代表假,刚好也对应了二进制的0,1。

3.二进制的位操作

  • 移位操作:
    • 二进制左移一位,就是将数字翻倍。二进制右移一位,就是将数字除以2并求整数商。

二进制左移<<:110 其实就是一次把数字往左移动一位,最右边补0所以最终就是1100;左移规律是数字的值翻倍;
二进制右移>>:同上就是把数字往右边移动一位,然后最左边数字看情况;如果是算术右移就要考虑正负数的问题;正负数在计算机里面java实现是看你操作系统位数,最后一位代表正负数的标识;0:代表正数;1:代表负数;所以算术右移我理解就是考虑计算,既然考虑计算也就是考虑正负数的问题;对于负数的算术右移左边是要上1的,对于正数的算数右移左边是上0的;但是对于逻辑右移,不管你是正数还是负数,左边都是上0的;

  • 逻辑操作:
    • "或":参与操作的位中只要有一个是1,最终结果就是1.
    • "与":参与操作的位中必须全部岁1,最终结果才是1,否则就为0.
    • "异或":参与操作的位相同,最终结果就为0,否则为1.

简而言之

逻辑或 | : 就是2个二进制数,从右到左,对相同位置的数字进行或运算;或运算就是 全是0才表示0,其余全是1;或顾名思义,只要有真就代表真;

逻辑与 & : 就是2个二进制数,从右到左,对相同位置的数字进行与运算;与运算就是参与运算数字全1才是1,其余的都是0;与顾明思议,相同的而且都是真才为真;

逻辑异或 ^: 就是2个二进制数吗,从右到左,对相同位置的数字进行运算;异或运算就是参与运算的数字相同结果为0,其余全为1;异或顾明思议,不同的才为真;

猜你喜欢

转载自www.cnblogs.com/liugangjiayou/p/12468904.html
今日推荐