为什么heaxadecimal数字以" 0 *"

时间:2015-08-14 05:52:42

标签: binary hex decimal

而不是写ffff为什么写heaxadecimal数字的语法就像0 * ffff." 0 *"的含义是什么?它是否指明了什么? 无论如何A,B,C,D,E,F符号仅在十六进制数字系统中。然后是什么需要" 0 *"。

对不起" *"不是我认为的那个角色" x" 。 它是十六进制数字系统的术语或符号。

3 个答案:

答案 0 :(得分:3)

我不知道你在谈论什么语言,但如果你在C#中写道

var ffffff = "Some unrelated string";
...
var nowYouveDoneIt = ffffff;
你期望发生什么?编译器如何知道ffffff是指十进制数16777215的十六进制表示还是前面定义的字符串变量?

由于标识符(在C#中)不能以数字开头,前缀为0和其他一些字符(在C#中它的0xffffff或十六进制和0b111111111111111111111111用于二进制IIRC)是一种方便的通信方式数字文字的基础是什么。

编辑:另一个问题,如果你要写var myCoolNumber = 10,你怎么知道这意味着2,10或16?或完全不同的东西。

答案 1 :(得分:0)

在那里将数字表示为heX。它不是'*',实际上是'x'。

请参阅:

http://www.tutorialspoint.com/cprogramming/c_constants.htm

答案 2 :(得分:0)

通常为0 x FFFF:字母,而不是乘法符号。

至于为什么0x只是最常见的约定,就像某些编程语言允许二进制文件以0b为前缀一样。仅为0的前缀数通常保留为八进制或基数8;他们想要一种方法来告诉机器以下数字是十六进制的,或者是16(10!= 0b10 [2]!= 010 [8]!= {{1 } [16])。出于人类可读性的目的,他们通常省略了识别八进制的小“o”。

有趣的是,大多数基于程序集的实现我都会使用(或者至少允许使用)0x10来代替或使用。