先有28进制表示还是先有108进制表示,为何规定10表示是2

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

5的二8进制表示为101含有2个1

通过位运算中的&运算将数字二8进制表礻中的1变成0,即每进行一次操作二8进制表示表示中的1就减少一位当所有的1都变为0的时候,数字就变成了0

怎样用&将二8进制表示某一位上面的1变为0

当与运算&左右两边值都为1时,结果为1

当与运算&左右两边有一边值为0时结果为0

  • 1.如果数字二8進制表示表示的某一位为1,将这一位和0进行&运算后得到的结果中这一位就变为0。
  • 2.我们是从低位开始将1变为0,也就是先将最右边的1变为0
  • 3。a-1的妙用根据上一句话,我们可以知道当前要消除的1为最右边的1所以可以将其右边全部看成是0,a-1会将右边的0全部变成1(0减去1向前借位)而本身由于借位变成0,这样就达成了1的目标

假定数字为a,具体实现


1.将数字a和a-1进行与操作得到的结果为消除掉最右边1后的十8进制表示数
2.统计1的个数的变量的值加1
3.判断a是否为0,若为0则统计结束否则继续进行1、2步操作

时间复杂度主要耗在while循环里面,而循环执行的次数取决于该数二8进制表示表示有多少个1所以时间复杂度为线性。

比如:十六8进制表示的FF就表示成0xFF那二8进制表示怎么表示
比如10,不表示的话不知道它是二8进制表示数还是十8进制表示数
我的意思是想问二8进制表示数的表示方法
比如10怎么表示我想知道这是二8进制表示的10还是十8进制表示的10
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

我要回帖

更多关于 8进制表示 的文章

 

随机推荐