[過去ログ]
Rust part16 (1002レス)
Rust part16 http://mevius.5ch.net/test/read.cgi/tech/1656285423/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
648: デフォルトの名無しさん [sage] 2022/09/08(木) 00:04:41.95 ID:nmwPOGZ0 >>645 サンクス。u32とかにはfrom_leとかあるみたいですね。こっちの方が使う機会は多そう デフォルトのバイトオーダーを変更したり、変数やフィールド単位でバイトオーダーを設定する みたいな芸当は流石に無理なのかな・・・ググったけどそれっぽい情報は見つけられなかった http://mevius.5ch.net/test/read.cgi/tech/1656285423/648
649: デフォルトの名無しさん [sage] 2022/09/08(木) 00:19:17.65 ID:8UoQH6yi >>648 操作に最適なバイトオーダーは使用CPUで決まるネイティブエンディアン だから原則としてネイティブエンディアンのみでプログラミングする 例外として外部とのやりとりなどエンディアン指定がある時はその境界で変換 http://mevius.5ch.net/test/read.cgi/tech/1656285423/649
650: はちみつ餃子 ◆8X2XSCHEME [sage] 2022/09/08(木) 00:23:28.76 ID:MG9wnc1h >>648 内部的に色々な表現を有りということにするならやりたい操作を個別に定義するしかないよ。 でも普通はそんな煩雑なことをしたくないから 内部的には一環した表現を使って必要な変換は入出力のみというのが一般的な構成だし、 言語やライブラリも基本的には一般的な構成に倣っている。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/650
651: デフォルトの名無しさん [sage] 2022/09/08(木) 01:11:28.44 ID:U6/gufpm >>648 変数やフィールドのメモリ上の表現が特定のエンディアンにしたいのであれば、 #[repr(C)] struct BeU32([u8; 4]); みたいな構造体を用意して impl Be32 { fn get(&self) -> u32 { u32::from_be_bytes(self.0) } fn ser (&mut self, v: u32) { self.0 = v.to_be_bytes(); } } こういうアクセサを実装すれば良いかと 何の役に立つのかはよくわからないけど、特定のエンディアンでシリアライズされたデータにそのままアクセスしたい場合とかに便利なのかな http://mevius.5ch.net/test/read.cgi/tech/1656285423/651
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.039s