[過去ログ] 【初心者歓迎】C/C++室 Ver.101【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
868(1): デフォルトの名無しさん [sage] 2017/10/16(月) 06:49:20.44 ID:IzFutT5/(1/3) AAS
>>856856(4): デフォルトの名無しさん [sage] 2017/10/14(土) 23:37:16.03 ID:q9IpA67V(2/2) AAS
>>851-854
ということは、255サイズのリングバッファ作りたいときって
unsigned char buffer[255] = {0};
unsigned char head=0, tail=0;
unsigned char pop(){
if(head==255) head = 0;
return buffer[++head];
}
void push(unsigned char data){
if(tail==255) tail = 0;
buffer[++tail]=data;
}
このサイズチェックのif文なくても大丈夫ってことですか?
リングバッファの容量を256バイトにして、
バッファ領域を unsigned char buffer[256] = {0}; と
ちゃんと256バイト分確保すればサイズチェックは不要になるな。
ただし unsigned char の値範囲が 0 - 255 っていう「普通」の環境であること。
char が9ビットとか16ビットの機械/コンパイラもあるんだよね。
915: デフォルトの名無しさん [sage] 2017/10/18(水) 23:53:45.00 ID:oy9jxwBz(2/3) AAS
>>879879(3): はちみつ餃子 ◆8X2XSCHEME [sage] 2017/10/16(月) 21:19:32.17 ID:8llzdgRf(1) AAS
>>870
ISO などでは 2008 年に 1 バイトは 8 ビットという定義を決めた。
外部リンク[htm]:diode.matrix.jp
1 バイトが 8 ビットではない (それなりに広く使われている) アーキテクチャが事実上消えたのは決め手のひとつだと思う。
C でこの定義を採用すると明記されているわけではないので、
C の言語仕様としては依然として処理系定義という扱いのはずだし、
何かの用途に特化したプロセッサでは変則的なものはいくらでもありうるんだけど、
自分で書くプログラムでそこまで想定することはまず無いわな。
の
>アーキテクチャが事実上消えた
組み込み系じゃない俺でもさすがに消えてないとは思うが、
まず基本的に1バイトの定義がはっきりして、さらにコンピュータの性能進化とともに
特殊な処理系が減っていくならそれ自体は良いことじゃねーの?
>>868辺りからの流れに対して無意味な罵倒してるのはお前らだろ
特殊な処理系を知ってるのがお前らのアイデンティティなの?ww
あと
>>895895(2): デフォルトの名無しさん [] 2017/10/17(火) 21:42:56.86 ID:0HMqhgUO(1/2) AAS
>>889
汎用とか特化に食いついてるのではなくて、「事実上消えた」ってところと、「自分で書くプログラムでそこまで想定することはまず無いわな」の部分に食いついているんだけどね。
>「自分で書くプログラムでそこまで想定することはまず無いわな」
俺もまず想定しないよ、リトルエンディアンですら気にしたことない
気にするのは必要になってからだ、まず必要にならないのに想定してコスト増やすのはただの給料泥棒
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.454s*