ユーザーから入力IPアドレスを取得するCでプログラムを作成したいのですが、それに対していくつかのビット操作を実行したいと考えています。Cでビット単位の入力を取得するにはどうすればよいですか。以下のコードを試しましたが、整数のサイズは2バイトであるため、完全なアドレスは8バイト(64ビット)になります。char を使用して入力をスキャンすると、入力された値が失われます。入力をビット単位で受け取る方法はありますか (32 ビットの IPv4 アドレスは 32 ビットのみ、128 ビットの V6 は 128 ビットのみ)。
unsigned short int a,b,c,d;
scanf("%d.%d.%d.%d", &a,&b,&c,&d);
printf("%d\t%d\t%d\t%d\t", a, b, c, d);
前もって感謝します。