芯五行数什么?

史玉辉史玉辉最佳答案最佳答案

这个问题很有意思,其实题主已经把自己绕进去了。“十进制”、“二进制”这些称呼实际上都只表示了计数的方法,而并没有真正反映计数的基数。因此以十进制表示的数实际上可以完全换算成以二进制所表示的数,反之亦然——两者只是表达方法的不同罢了。这本质上就像在问:“五音和七音的区别何在呢?”一样,只不过是换了个计数基底的表达方式而已。所以这其实是个很无聊的问题……但既然提出了,就稍微解答一下好了^_^ 所谓的“五行”,其实就是指金、木、水、火、土这五种物质,是古人对于宇宙万物的一种解释。这种解释实际上也影响了中医理论(如五脏配五行)等等。而在计算机领域中,人们通常用0和1这两种数码来表示事物的状态或过程,所谓“二进制”就是指每一位数码仅能用0和1两种数码表示。

那么现在的问题就变成了一个数学问题:如何将十进制数用二进制数表示出来?或者说二进制数如何表示十进制数? 这个问题的答案其实非常简单:二进制数只能表示2的幂次方。比如8位二进制数就可以表示从0到255这32个十进制数;同样,32位二进制数能表示的范围是从0到4294967295——也就是2的32次方减一。 而如果要求十进制数反过来也能用二进制数表示的话,问题就变得复杂了。因为二进制数本身只能表示无穷无尽的一个个排列组合,而我们要求的十进制整数却是有上限的。在这种情况下,我们就需要给每个十进制数加上一个前缀,表明它是正整数还是负整数,然后才能根据前面的算法将其转换为二进制数。否则的话,任何一位数码没有前面数值的限定,我们怎么知道它代表的是正数还是负数呢?比如-7这个十进制数和7这个十进制数相比,其绝对值大了6,但是在二进制数里它们却仅仅相差1,又怎么能区分它们代表的是负数还是正数呢? 这其实就相当于把原本很简单的问题复杂化了。如果我们不赋予每一个十进制数一个前缀的话,二进制数就不能准确表达它们的含义了。这时候,就必须引入新的基数了。

越怡龙越怡龙优质答主

从数学的角度,一个物体有0个到无限多个属性。 因此对于“信息”来说的,1代表无信息或者0比特;2代表两个单位长度的二进制串(比如0和1);等等以此类推.... 一个事物有多少种状态/颜色/特征,那么它的信息量是2^n。 计算机中常用的数据类型位域是一个整数位数,这个整数包含多少位就是多少个位。因为计算机中的整数的位数是有限制的,所以如果我想把8个字节的整形变量转换为365天的天数长度,需要将这8个字节进行两次转换操作才能完成。其中每次转化都需要用一次加法以及除法来保证结果的准确性,所以这种转化的效率很低。 而直接使用浮点型来存储日期的话则不会出现以上问题。在C语言里可以直接使用time_t类型来获取当前的时间戳。而时间戳本身就是以纳秒为单位的一个浮点值。这样就不必再费心思去想办法将8字节的整数转化为更合适的数据结构了。

我来回答
请发表正能量的言论,文明评论!