X xuekunli Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-28 #1 请教:我在内存某一段地址内保存如512个Byte,即应有512x8位二进制的位, 如何依次取出每一位(二进制位),如01111110, 依次取出0,1,1,1,1,1,1,0?
X xianjun Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-28 #2 为什么要一位位的读? 除非你读了第一位的时候其他的位可能还会变化 如果不是的话你可以一次把全部读出来 然后再把BYTE转化成二进制数,OK了?
X xuekunli Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-28 #3 我需要对每一个二进制位。并对其进行一些操作。请各位多多指教![?]
Q Qiuliang Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-28 #7 Value 为读取的 bit; 代码: var Buf: array[0..511] of Byte; I, J: Integer; B: Byte; Value: Byte; begin for I := 0 to 511 do begin B := Buf[I]; for J := 0 to 7 do Value := (B shr J) and (1 shl J); end; end; 代码未测试.
Value 为读取的 bit; 代码: var Buf: array[0..511] of Byte; I, J: Integer; B: Byte; Value: Byte; begin for I := 0 to 511 do begin B := Buf[I]; for J := 0 to 7 do Value := (B shr J) and (1 shl J); end; end; 代码未测试.
张 张一健 Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-28 #8 用 AND(与) 和 SHR(右移)实现啊。 如: 01111110 01111110 AND 10000000 AND 01000000 ------------ ------------ 00000000 01000000 ............. SHR 7 SHR 6 ............. ------------ ------------ 0 1
用 AND(与) 和 SHR(右移)实现啊。 如: 01111110 01111110 AND 10000000 AND 01000000 ------------ ------------ 00000000 01000000 ............. SHR 7 SHR 6 ............. ------------ ------------ 0 1