-1

算術演算からの出力として12桁の長い値があります。だから私は真ん中の4つの値だけが欲しいのです。たとえば、私は823954957346を取得し、5495のみを変数に格納したいと考えています。これをCまたはC++で実行できますか?

4

2 に答える 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 に答える