Meu processador é de 32 ou 64 bits?
Não deve ser confundido com Meu SO de 32 bits ou 64 bits .
Este é muito simples, diga-me se minha CPU suporta ou não instruções de 64 bits. Se minha CPU suportar instruções de 32 bits, imprima '32', se minha CPU suportar instruções de 64 bits, imprima '64', se meu processador ingenuamente suportar outros comprimentos de instruções, imprima 'outro'.
Seu programa deve ser executado nos modos de instrução de 32 e 64 bits e, se interpretado, deve ser executado corretamente nos interpretadores de 32 e 64 bits.
Casos de teste:
Arco: x86, i386, i686, RiscV32
Saída: '32'
Arco: x86-64, x64, x86_64, RiscV64
Saída: '3264'
Arco: R700
Output '32other'
As regras usuais de golfe de código se aplicam.
Boa sorte!
Respostas
Bash + coreutils, 33 25 bytes
lscpu|grep -Po '..(?=-b)'
Não tente online! Não funcionará porque o sandbox TIO não oferece suporte a lscpu. Edit: salvou 8 bytes graças a @DigitalTrauma.
Ferrugem , 45 bytes
||if std::usize::MAX>4294967295{3264}else{32}
Experimente online! (Compilador cruzado para 32 bits localmente através da instalação de um conjunto de ferramentas para i686 Por exemplo:. stable-i686-pc-windows-msvc)
Não é possível testar isso em nenhuma arquitetura que suporte "outros" comprimentos de instruções, mas isso pode ser usado para verificar arquiteturas de 32 ou 64 bits. Isso é mais curto do que o uso de forma integrada cfg!(target_pointer_width="64").