Maneira correta de denotar a base 10 (decimal) em ciência da computação [fechado]


1

A maneira correta de denotar hexa, ou base 16, é prefixar 0x

Por outro lado, qual é a maneira correta de denotar decimal / base 10?


1
Você não precisa denotar a base. A menos que você indique sua base 16 ou base 2 é assumido como sendo base 10.
Ramhound

Algumas linguagens denotam Octal com um 0 líder.
ChrisInEdmonton

@Ramhound Eu sei que você está certo. A maioria presumiria que é a base 10 e não é necessário indicar isso, mas sei que existe uma maneira de indicar explicitamente a base 10.
user2018084

Para aqueles que downvoted eu estou assumindo duas coisas, ou 1) não é necessário. Eu sei disso, mas também sei que existe uma maneira formal de indicar explicitamente a base 10 ou 2) Você supõe que é trivial encontrá-lo na internet, mas não consegui encontrá-lo no Google, por isso, se você pudesse dedicar um tempo postar a resposta enquanto você downvote, você me faria um campista feliz! :)
user2018084

"É trivial encontrá-lo na internet, mas não consegui encontrá-lo no google" não faz sentido ...
DavidPostill

Respostas:


2

qual é a maneira correta de denotar decimal / base 10?

Em sistemas numéricos matemáticos, a base ou base é o número de   dígitos únicos, incluindo zero, usados ​​para representar números em um   sistema numeral posicional. Por exemplo, para o sistema decimal (o   sistema mais comum em uso hoje) o radix é dez, porque usa o   dez dígitos de 0 a 9.

Em qualquer sistema numérico posicional (exceto unário, onde a raiz é 1),   o número xe sua base y são convencionalmente escritos como enter image description here, embora para a base dez o subscrito seja   geralmente assumido e não escrito, pois é a maneira mais comum de   valor expresso. Por exemplo, enter image description here (no   sistema decimal) representa o número cem, enquanto enter image description here (no sistema binário com base 2)   representa o número quatro.

Fonte Radix


Leitura adicional


Assim como a notação do sufixo "E" pode substituir o expoente escrito como sobrescrito, vi um sufixo "R" no lugar do subscrito da raiz.
sawdust

1

o 0 e 0x prefixo são o modo de expressar octal / hexadecimal da linguagem de programação C, e tornou-se popular devido à popularidade e onipresença de C. Essa convenção em si pode ter vindo de linguagens ou convenções anteriores.

Vários outros padrões de expressão foram usados ​​ao longo do tempo. Conjunto 6502 prefixado hex com um $. Em um monte de Z80 e início x86 assembly, você verá um trailing H. Alguns dialetos do BASIC usavam um & ou algo parecido &H.

Então, isso será específico para a linguagem de programação com a qual você está trabalhando. Muitas línguas, especialmente aquelas criadas desde o final dos anos 80, usam os padrões de C para as coisas. Fora de um contexto de linguagem de programação, você provavelmente deveria usar padrões de notação matemática ou escrever um termo denotando a base ("base 10" ou "decimal") se pudesse haver confusão.


1

Eu realmente gosto da resposta do comentário de Ramhound. Se você simplesmente não especificar uma base, a suposição geral é que ela é a base 10.

Se você quer ser muito explícito, você pode usar HTML " 5<SUB>10</SUB> "(ou" 5<subUB>10</sub> "para quem prefere HTML em minúsculas) para ser renderizado como" 5 10 ". No texto, você pode usar" 5 base 10 ".

Note que 0x não é uma maneira universal de especificar hexadecimal. O prefixo 0x é usado pelo idioma do C e por outros idiomas semelhantes ao C. No assembly x86 típico, um usa um sufixo H (portanto, 0x768 em C é a mesma coisa que o 768H no assembly x86). Programação embutida: números diz que o sufixo H é para "Intel e TI assembly language". Essa mesma página da web observa que para "linguagem de montagem Freescale", a sintaxe é para preceder um sinal de dólar (" $768 ").

Em todas essas linguagens (C, montagem da Intel e montagem Freescale), a sintaxe para um número de base 10 é apenas para especificar o número, sem necessidade de texto especial para ser prefixado ou sufixado.

Outros métodos podem ser usados ​​(como adicionar um sublinhado seguido por um valor radix, que pode ser mais fácil de digitar do que confiar em renderização de fonte subscrito), ou você pode usar qualquer outro método personalizado que você descreve no início de sua escrita / aula / o que quer que seja, mas no final, se você não especificar algo específico, as pessoas estarão inclinadas a usar suas suposições.

Parte da comunicação é conhecer o seu público. (Essa é uma teoria básica de comunicação, não limitada especificamente a computadores.) Se o seu público inclui um grupo de programadores C, então 0x apenas implica em hexadecimal. Se o seu público não, então 0x768 parece um problema de multiplicação, e equivale a zero. Se você estiver interagindo com um grupo de pessoas familiarizadas com uma sintaxe / idioma / convenção específica, use o que elas estão familiarizadas.

A arte da programação de computadores é basicamente uma maneira de comunicar as idéias do que você quer que um computador faça. A melhor maneira de se comunicar é geralmente usar o que o público espera. E, como você pode ver em vários comentários aqui, a tradição geral é apenas assumir a base 10 a menos que haja uma indicação (como uma notação como "0xblah") ou outra razão (como contexto) para acreditar que a base é outra.

Assim como outro exemplo jogado lá fora: se eu vir 99-10-12-16-23-20, então eu não começo a pensar automaticamente "18". Eu começo a pensar que se parece com um endereço MAC-48 de uma placa de rede, escrito no formato usado pela lista OUI do IEEE e Microsoft Windows (e não Unix) ... interessante que não tem dígitos que são exclusivamente hexadecimais. Mas se eu estivesse esperando um endereço de rede, provavelmente assumiria que esses são, provavelmente, dígitos hexadecimais.

Eu tenho visto instrutores de cursos de nível universitário, por vezes, querem escrever um monte de números e ser muito claro sobre as bases. Nessas situações (não incrivelmente comuns), o que elas normalmente faziam era usar a notação subscrita, a menos que soubessem que a escrita era desleixada e, nesse caso, também acrescentariam alguns parênteses, como mostra a resposta dada por DavidPostill.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.