Rumah > pembangunan bahagian belakang > C++ > Program C/C++: Kira bilangan digit yang ditetapkan dalam integer?

Program C/C++: Kira bilangan digit yang ditetapkan dalam integer?

王林
Lepaskan: 2023-08-26 18:57:12
ke hadapan
1283 orang telah melayarinya

Program C/C++: Kira bilangan digit yang ditetapkan dalam integer?

Mengira bit set bermakna mengira 1s untuk integer tertentu. Untuk ini, kami mempunyai pelbagai penyelesaian yang boleh digunakan. Untuk kes ini, kita mempunyai nombor binari (perwakilan binari integer), yang mana kita perlu mengira nombor 1 dalam rentetan.

Untuk mengira nombor 1, kami akan mengambil rentetan, mengulangi setiap elemen dan mengira nombor semua 1 dalam rentetan. Sebagai contoh, jika kita memasukkan 17, output akan menjadi 2 kerana perwakilan binari 17 ialah 10001, yang mengandungi dua 1s.

Input: Enter a positive integer: 6
Output: 2
Salin selepas log masuk

Penjelasan

Perwakilan binari 6 ialah 110, yang mempunyai 2 set bit

Kaedah lelaran ini memerlukan satu lelaran untuk setiap bit. Ia melalui semua digit nombor. Lelaran ditamatkan apabila tiada lagi bit ditetapkan. Dalam kes yang paling teruk, ia akan gelung selama 32 lelaran untuk perkataan 32-bit dengan set bit yang paling ketara sahaja. Penyelesaian ini ialah penyelesaian yang paling mudah dan berguna jika 1 adalah jarang dan dalam bit yang paling tidak ketara.

Contoh

#include <stdio.h>
int main(void) {
   unsigned int n = 34;
   for (c = 0; n; n >>= 1) {
      c += n & 1;
   }
   printf("%d\n", c);
}
Salin selepas log masuk

Atas ialah kandungan terperinci Program C/C++: Kira bilangan digit yang ditetapkan dalam integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan