特定の数に対して
unsigned int a = 1203;
上記のサンプルの場合、最上位の 10 進数のみをインクリメントします
a = 2203;
これはどのように達成できますか?
私はこのように始めました
for (n=a; n; n/=10){ b = n%10;}
これにより、msb が与えられ、次に b++ がインクリメントされます。
しかし、整数を元に戻すことができませんでしたか?
msb を与える a&0xf000 のような代替手段はありますが、整数は 0 ~ INT_MAX の範囲内であれば何でもかまいませんか?