トピック
かおなし SYO-YU-KOTO

RGB関数のような何か

RGB関数のようにXYZの回転角をまとめる関数を作りたいのですがビットシフトの命令名がわかりません… 理想は360°ずつ9ビットで27ビット分確保したいです 書いてて気が付きましたが16進数でまとめてもいいかも知れませんね 教えてください!お願いします!何でもしますから!
2そうだね
プレイ済み
返信[1]
親投稿
のり cb_FlyingFox
ビットシフトをするには、<<, >>演算子を利用します。 1 << 9 → 512 &H123 >> 4 → &H12
3そうだね
プレイ済み
返信[2]
親投稿
ΖΕΧ ZEX256
ヒント ビットシフト >> ビット抽出するのに AND 何でもするんだから、べんきょして!
2そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
ビットシフト演算子の>>には最上位ビットがオンの場合に正しい値が 返されない不具合があります。 PRINT HEX$(&H80000000>>2)とした場合に 本来なら&H20000000となるはずが&HE0000000となってしまいます。 AND演算子で必要なビットを取り出すようにしてください。 PRINT HEX$(&H80000000>>2 AND &H3FFFFFFFF)
0そうだね
プレイ済み
返信[4]
親投稿
otta777さんのシフトの説明ですが、どうもプチコンは算術シフトみたいですね。 不具合というか、最上位ビット(符号)が右シフト時には影響してしまうのだと思います。 ということで、解決方法などはotta777さんの解説通りです。て事は、論理シフトの命令はないって事なのかなぁ…。
1そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
今まで<<、>>は論理シフトだと思い込んでいました。算術シフトなら 不具合ではないですね。失礼しました。
1そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
2のn乗を掛けたり割ったりするのを高速に行いたいのであれば算術シフトの方が便利だからでしょうね。 私だったら(速度がそれほど不必要ならば)右論理シフトはこのように文字列演算で行います。(ANDを使うより短くなるはず)
3そうだね
プレイ済み
返信[7]
親投稿
かおなし SYO-YU-KOTO
なるほど<<なのか…ありがとナス! 開きっぱなしにするので、ちょっとコード書いてまた質問があれば質問したいと思います
1そうだね
プレイ済み
返信[8]
親投稿
かおなし SYO-YU-KOTO
閉めるのでまた質問あるときは宜しくオナシャス! (…実は飽きた)
0そうだね
プレイ済み