算術演算からの出力として12桁の長い値があります。だから私は真ん中の4つの値だけが欲しいのです。たとえば、私は823954957346を取得し、5495のみを変数に格納したいと考えています。これをCまたはC++で実行できますか?
2 に答える
2
次のようなものを使用できます。
main() {
unsigned long i = 823954957346;
printf ("%lu\n", i);
printf ("%lu\n", i / 10000 % 10000);
}
出力:
823954957346
5495
于 2012-11-17T06:41:24.367 に答える
2
実際にビットについて話している場合は、右に4ビットシフトしてから、ビット単位のANDを使用して下位4ビットをマスクします。私のC++は少し錆びていますが、次のようなものです。
number >> 4 & 15
数字を話している場合は、10000で割り、次のように数値mod10000を取ります。
number / 10000 % 10000
簡単。
于 2012-11-17T06:41:54.190 に答える