HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
1231
SRST1バイトの中からビットを取り出すアルゴリズム5解決


SRST

リンク

2007/12/31(Mon) 22:49:53|NO.12965

1バイトの中から任意のビットを取り出すプログラムを考えているのですが、
もし宜しければ一般的に使用される方法を教えていただけないでしょうか。お願いします。

↓自分で考えてみたもの。

a= 0b01101011 ; 0bXXXXXXXX...2進数表記 b= (a>>3)\2 ; 4bit目を取り出す c= (a>>4)\16 ; 5〜8bit目を取り出す print "3bit目="+b+"\n5〜8bit目="+c



この記事に返信する


f

リンク

2008/1/1(Tue) 07:47:22|NO.12970

andすれば良いんでね?



SRST

リンク

2008/1/1(Tue) 10:29:13|NO.12973

andを使うとこうですか?
でもHSPは^(ハット)で累乗の計算ができないから面倒だと思いますが、仕様の壁ですか?

a= 0b10110100 c=1 repeat 8 print ""+cnt+": "+ (a&c) c*=2 loop stop



f

リンク

2008/1/1(Tue) 11:28:38|NO.12974

べき乗程度なら
	p = 0,0x01,0x02,0x04,0x08,0x10...

とでもして、テーブルにしとけば良いんでね。



SRST

リンク

2008/1/1(Tue) 15:06:39|NO.12977

なるほど、それは良い方法ですね。ご回答をありがとうございました。



f

リンク

2008/1/3(Thu) 09:57:21|NO.12997

n氏より「シフト使えばいいんじゃねーの?
とツッコミ受けたので追記。


言われてみりゃその通りで御座います。



ONION software Copyright 1997-2023(c) All rights reserved.