web-dev-qa-db-ja.com

コンピュータサイエンスで基数10(10進数)を表す適切な方法

16進数、つまり16進数を表す適切な方法は、0xを先頭に付けることです。

逆に、10進数/基数10を表す適切な方法は何ですか?

2
user2018084

10進数/基数10を表す適切な方法は何ですか?

数学的記数法では、基数または基数は、位取り記数法で数を表すために使用される、ゼロを含む一意の桁の数です。たとえば、10進法(現在使用されている最も一般的なシステム)の場合、基数は10です。これは、0から9までの10桁を使用するためです。

任意の位取り記数法(基数が1である単項を除く)では、数値xとその基数yは通常次のように記述されます。 enter image description here、ただし、基数10の場合、値を表す最も一般的な方法であるため、通常、添え字が想定され、記述されません。例えば、 enter image description here (10進法で)100を表しますが、 enter image description here (基数2のバイナリシステムでは)4を表します。

ソース 基数


参考文献

3
DavidPostill

0および0xプレフィックスは、8進数/ 16進数を表現するCプログラミング言語の方法であり、Cの人気と普及により普及しています。その規則自体は、以前の言語または規則に由来している可能性があります。

表現するための他のさまざまな標準が長い間使用されてきました。 6502アセンブリの接頭辞が16進数で$。多くのZ80および初期のx86アセンブリでは、末尾にHが表示されます。 BASICの一部の方言は、&または&Hのようなものを使用していました。

したがって、これは使用しているプログラミング言語に固有のものになります。多くの言語、特に80年代後半以降に作成された言語は、Cの標準を使用しています。プログラミング言語のコンテキスト以外では、混乱が生じる可能性がある場合は、数学表記の標準を使用するか、基数( "base 10"または "decimal")を示すWordを作成する必要があります。

2
LawrenceC

ラムハウンドのコメントからの答えが本当に好きです。単に基数を指定しない場合、一般的な仮定はそれが基数10であるということです。

非常に明確にしたい場合は、HTML「5<SUB>10</SUB>」(または小文字のHTMLを好む人は「5<sub>10</sub>」)を使用して「5」としてレンダリングできます。10"。テキストでは、" 5 base10 "を使用できます。

0xは、16進数を指定するための普遍的な方法ではないことに注意してください。 0xプレフィックスは、Cの言語、およびCに類似した他の言語で使用されます。通常のx86アセンブリでは、Hサフィックスを使用します(したがって、Cの0x768はx86アセンブリの768Hと同じです)。 組み込みプログラミング:numbers は、Hサフィックスが「IntelおよびTIアセンブリ言語」用であることを示しています。その同じWebページは、「Freescale Assembly language」の場合、構文はドル記号( "$768")を付加することであると述べています。

これらすべての言語(C、Intel Assembly、およびFreescale Assembly)では、10進数の構文は数値を指定するだけであり、特別なテキストを先頭に追加したり、末尾に追加したりする必要はありません。

他の方法を使用することもできます(アンダースコアの後に基数値を追加するなど、下付きフォントのレンダリングを使用するよりも入力が簡単な場合があります)。または、執筆/講義の開始時に説明する他のカスタム方法を使用できます。 /何でも、しかし最終的には、特定のものを指定しないと、人々は彼らの仮定を使用する傾向があります。

コミュニケーションの一部はあなたの聴衆を知ることです。 (これは基本的な通信理論であり、特にコンピューターに限定されません。)対象者にCプログラマーが多数含まれている場合、0xは16進数を意味します。聴衆がそうでない場合、0x768は乗算の問題のように見え、ゼロに相当します。特定の構文/言語/規則に精通している人々のグループと対話している場合は、彼らが精通しているものを使用してください。

コンピュータプログラミングの技術は、基本的に、コンピュータに何をさせたいかという考えを伝える方法です。コミュニケーションをとる最良の方法は、一般的に聴衆が期待するものを使用することです。そして、ここでの複数のコメントからわかるように、一般的な伝統は、基数が他のものであると信じる兆候(「0xblah」のような表記など)または他の理由(コンテキストなど)がない限り、基数10を想定することです。

別の例がそこに投げ出されたのと同じように、99-10-12-16-23-20が表示された場合、自動的に「18」とは考え始めません。 IEEEのOUIリストとMicrosoftWindows(Unixではない)で使用される形式で書かれた、ネットワークカードのMAC-48アドレスのように見えると思い始めます... 16進数だけの数字がないのは興味深いことです。しかし、ネットワークアドレスを期待しているのであれば、おそらくそれらは16進数であると思います。

私は、大学レベルのコースのインストラクターが、たくさんの数字を書き、ベースについて非常に明確にしたいと思うことがあるのを見てきました。それらの(信じられないほど一般的ではない)状況では、手書きがずさんなことを知らない限り、彼らが通常行ったのは下付き文字表記を使用することです。その場合、DavidPostillの回答に示されているように括弧も追加します。

1
TOOGAM