プログラミングのお題スレ Part22 (863レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
656
(5): 02/26(水)21:33 ID:rkiIsmEI(1) AAS
お題: Python の int.bit_count()

65535 → 16
15 → 4
6 → 2
1 → 1
0 → 0
-1 → 1
省3
657: 02/26(水)23:29 ID:Gl9HHMVG(1) AAS
>>656
C++20
外部リンク:paiza.io
658: 02/27(木)00:23 ID:TOGelnHV(1) AAS
>>656
Rust

fn bit_count(x: i64) -> usize {
const MAGIC_1: u64 = 0x5555555555555555; // 0101..0101
const MAGIC_2: u64 = 0x3333333333333333; // 0011..0011
const MAGIC_3: u64 = 0x0f0f0f0f0f0f0f0f;
const MAGIC_4: u64 = 0x00ff00ff00ff00ff;
省22
659: 02/27(木)08:26 ID:LSRTW28H(1) AAS
>>656 Rust

trait BitCount {
 fn bit_count(&self) -> usize;
}
impl BitCount for i32 {
 fn bit_count(&self) -> usize {
  self.unsigned_abs().count_ones() as usize
省15
663
(1): 03/01(土)20:18 ID:H8RpZRUP(1/2) AAS
>>656
PowerShellのBigIntなら、

$b = @(0)
1..8 |% {$b += $b |% {$_ + 1}}

function bit_count([BigInt]$n)
{
  ($b[[BigInt]::Abs($n).ToByteArray()] | measure -sum).Sum
省15
669: 03/11(火)21:18 ID:Qmk3F8/1(1) AAS
>>656
PowerShellでもPopCountがいつの間にか使えるようになっていた。Version 7.5.0で動作確認。

function bit_count($n)
{
  [BigInt]::PopCount([BigInt]::Abs($n))
}

65535, 15, 6, 1, 0, -1, -6, -15, -65535, [BigInt]::Pow(123, 45) |% {
省3
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.056s