私はshortを使用して(割り当てにはshortを使用する必要があります。そうでない場合はintを使用します)、0〜31の値をスキャンしてから、単一の整数を使用してこれらのスキャンされた値の6つを格納します。
これは私がこれまでに持っているものです:
int vals = 0;
short ndx, newVal;
/* more printing/scanning and error checking in between */
newVal = newVal << (5*ndx);
vals = vals | newVal;
スポット4または5に有効な値を配置しようとすると、機能せず、0のままになります...これは、shortの長さが2バイトしかないため、ビット単位の左シフトで全体の価値?そして、これが問題である場合、それを修正するために追加できるキャストの種類はありますか?