No.3ベストアンサー
- 回答日時:
リトルエンディアンからビッグエンディアンまたはビッグエンディアンからリトルエンディアンへの変換ですね。
シフト演算子を使って計算するのであれば、ビット演算子を使えば実現できますね。
例えば、C言語風に書けば
i = 0x00010b0a ;
i = i<<24 | i<<8 & 0x00ff0000 | i>>8 & 0x0000ff00 | i>>24 & 0x000000ff ;
で出来ていると思います。
演算子の優先順位があるので、言語が違えば答えが変わってしまう可能性もありますので、
i = (i<<24) | ((i<<8) & 0x00ff0000) | ((i>>8) & 0x0000ff00) | ((i>>24) & 0x000000ff) ;
の様に括弧でくくる必要があるかもしれません。
No.2
- 回答日時:
エンディアン変換ですか。
シフトして0xFF000000,0x00FF0000,0x0000FF00,0x000000FF
などとANDすれば欲しいバイトは32bitのままでも取れますでしょう。左シフトで0が埋まるとこはANDも必要ないですけど。
で、ORすればいいだけです。
最高速のアルゴリズムは、そこから考えてみてください。
No.1
- 回答日時:
この4バイトはunsigned longと思って良いのかな? 泥臭い処理をするとすれば以下のようになるのではないかな。
unsigned long x = 0x00010b0aL; // x をシフトしたいブツとしよう
unsigned long swapvar = (x >> 24); // swapvarにxの最上位1バイトを最下位1バイト目として保存
x <<= 8; // x を1バイト分シフト
x |= swapvar; // シフトしたxとswapvarを組み合わせてシフト完了
検証はしていないのでバグがあったらごめん。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# キャスト演算について。 1 2023/07/15 15:28
- C言語・C++・C# C言語について。 5 2023/06/27 18:37
- その他(プログラミング・Web制作) 【プログラミングScratch】で音楽を演奏するプログラムを短時間でつくる方法 2 2023/07/02 07:50
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- 物理学 運動量演算子の交換関係について 5 2022/06/14 17:17
- 日本語 以下文章で使用される「で」の品詞は何でしょうか? 可能であれば、「で」の用法が記載されているWEBサ 3 2022/10/15 09:46
- Excel(エクセル) エクセル 全自動シフト表の祝日シフト表示を消すには? 3 2022/04/23 16:43
- Photoshop(フォトショップ) インデザイン 上で、フォトショップの線の色を変えたい 4 2022/06/12 18:49
- UNIX・Linux サーバー間のデータコピー(データ形式とデーターフォーマットの変換あり。一定間隔で処理) 2 2023/08/22 22:15
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セル内の文字列が日本語か英語...
-
EBCDIC⇒SJIS変換の方法
-
VBAでbmp画像をASCIIデータとし...
-
ふりがなをアルファベット化す...
-
「彡」って文字はなんという文...
-
EBCDICへの変換
-
ExcelVBA実行後に時々落ちる
-
10進数→2進数への変換
-
std::stringからLPCWSTR型への変換
-
COBOLによる全角・半角混...
-
英数字を含む文字列(0-9,A-Z)...
-
%fと%gについて
-
COBOLのデータ型
-
VBでIMEの変換文字列を拾いたい
-
画像データ(png)をcsvファイル...
-
コード変換ライブラリについて
-
Symfowareでのデータ型変換につ...
-
教えてください!!
-
S-JIS → JIS コード変換するには
-
X86アセンブラで 16進数を10進...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EBCDIC⇒SJIS変換の方法
-
セル内の文字列が日本語か英語...
-
「彡」って文字はなんという文...
-
std::stringからLPCWSTR型への変換
-
VS 2008(VB.NET)
-
ExcelVBA実行後に時々落ちる
-
ふりがなをアルファベット化す...
-
Excelマクロにて30分単位の計算...
-
英数字を含む文字列(0-9,A-Z)...
-
Symfowareでのデータ型変換につ...
-
JIS → S-JIS コード変換するには
-
sedで日本語の置換方法について
-
COBOLによる全角・半角混...
-
フォームのコントロールのバッ...
-
数字5桁文字コード?
-
バイナリデータ→ASCII 変換プ...
-
2バイト文字をJEFからSJISに変...
-
CString ←→ BSTRの変換について
-
VBScript ASC関数:文字エンコ...
-
入力した文字を全て自動で全角...
おすすめ情報