如何快速判断一个字节某一位是0还是1?不是编程,是口算!

[复制链接]
6569|16
 楼主| 音乐乐乐 发表于 2008-2-19 04:45 | 显示全部楼层 |阅读模式
比如192的最高位?135的第3位,等等。
xwj 发表于 2008-2-19 06:06 | 显示全部楼层

MSB和LSB很容易判断啊

  
tyw 发表于 2008-2-19 07:07 | 显示全部楼层

左,右环移后判进位位"c"

如有位操作指令,直接判JB0或JB8(好象JB8没有的,哈哈)
liudewei 发表于 2008-2-19 09:11 | 显示全部楼层

and 某一位,如判断递位,and 00000100b

可以将这些位建个数组:以8位为例;<br />char&nbsp;ANDTAB[8]={00000001b,00000010b,..10000000b};<br /><br />判断:x&&ANDTAB[a]是否为0或1,x被判断的数,a判断的位
 楼主| 音乐乐乐 发表于 2008-2-19 09:20 | 显示全部楼层

呵呵,偶没说清楚,不是编程,是口算啊

  
dld2 发表于 2008-2-19 09:23 | 显示全部楼层

晕了

  
xwj 发表于 2008-2-19 09:28 | 显示全部楼层

我也说的是口算,MSB和LSB真的很容易判断啊

不过中间的位不好判断<br /><br /><br />严重BS&nbsp;LZ改主题贴的行为...
 楼主| 音乐乐乐 发表于 2008-2-19 11:10 | 显示全部楼层

呵呵,ls,不改主题怕很多人因误解而浪费时间啊

&nbsp;最高和最低是好判断,我是指任意位嘛,呵呵,不知道能不能找到什么巧妙的方法。
zlgmcuCHTZ 发表于 2008-2-19 11:46 | 显示全部楼层

第N位,就把192除以2的N次方

看小数是否大于等于0。5了,小于就是0,否则为1
tyw 发表于 2008-2-19 12:29 | 显示全部楼层

立日乐乐乐,晕衣支

沙法漏的,成沙滩了拉,哈哈<br />小乐乐又在玩死马特异功能了拉
stycx 发表于 2008-2-19 12:35 | 显示全部楼层

学珠心算吧,听说比口算还快

  
 楼主| 音乐乐乐 发表于 2008-2-19 12:37 | 显示全部楼层

ls不对,135二进制为10000111

如果按照最右边为第一位,那么第8位:2^8=128,135/128=1.0546875,小数小于0.5,但位为1。<br /><br />如果按照右边为第0位,那么第3位:2^3=8,135/8=16.875,小数大于0.5,但位为0。<br />&nbsp;呵呵,还得改进&nbsp;啊
xwj 发表于 2008-2-19 14:49 | 显示全部楼层

先统一一下所谓的“第3位”到底指的哪一位再说

9楼的方法是对的,只是他所说的位数最右边是第一位,而不是第0位!<br />12楼的再去算过!!!<br /><br /><br />我的看法是依次判断是否大于128、64、32、16,大于就减掉它,数一小了就很好看了,而且心算的话加减法比乘除法容易<br />而且,16进制下只有大于9的A~F不好判断,0~9还是很容易看一眼就转成二进制的,一般只要针对高低半字节减128或16即可看出<br />把数字适当除以2、4、8,则更容易快速的降位、计算<br /><br />比如135,-128=7,然后一眼就能看出就是二进制1000,0111<br /><br />
yczhang 发表于 2008-2-19 15:21 | 显示全部楼层

同意9楼

LZ不会验算,2^8是256而不是128
 楼主| 音乐乐乐 发表于 2008-2-19 16:13 | 显示全部楼层

呵呵,是偶搞错了,9楼的方法可行,配合13楼的方法,这样

判断最高位:大于等于128,为1,否则为0;<br />其他位:除2的n次方,余数大于等于0.5为1,否则为0;<br /><br />多谢各位,偶觉得这个已经比较简单的了,呵呵。
computer00 发表于 2008-2-19 16:19 | 显示全部楼层

有计算器不用,晕...

  
mikesullen 发表于 2008-2-20 03:03 | 显示全部楼层

二进制的原理你们都忘了

不停的除2取余就好了。。。。<br /><br />135=10000111<br /><br />135/2=67........1<br />67/2=33.........1<br />33/2=16.........1<br />16/2=8..........0<br />8/2=4...........0<br />4/2=2...........0<br />2/2=1...........0<br />1/2=0...........1<br /><br />口算应该没问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

350

主题

2293

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部