首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不同数字基系统

不同数字基系统
EN

Software Engineering用户
提问于 2016-07-19 23:00:13
回答 2查看 845关注 0票数 1

我正在为AP计算机科学做一个暑期作业。为此,我正在学习不同的数字基础系统,以及如何转换它们。这些主题让我想知道为什么程序员使用不同的数字基础系统。所以我想知道

为什么程序员使用不同的数字基础系统?为什么不使用熟悉的十进制呢?

EN

回答 2

Software Engineering用户

发布于 2016-07-19 23:16:00

计算机使用二进制码

二进制用于对指令和数据进行编码。这是因为晶体管很好地存储和操作二进制。结果表明,只要有足够的布尔运算,就可以进行加法、减法、乘法、除法等数学运算。

使用二进制以外的基是可能的,但传统上并不是很成功。不过,一些SSD晶体管技术存储多个值的每个单元(虽然通常的功率为2,仍然)。真空管能很好地支持2种以上的状态.;)

程序员通常需要知道设置了哪些位,哪些在多位模式中是清晰的(例如“字节”或“单词”)。如果你需要知道,基-2,基-8和基-16都比基数-10更直接有用。二进制是最容易看到的个别位,但变得非常长相当快。如今,在32位和64位计算机中,十六进制(基- 16 )是首选的:每个十六进制数字代表4位,因此64位值是16十六进制数字,而不是64二进制数字。

八进制(基数-8)曾用于一些计算机。例如,数字设备公司PDP-8是一台12位计算机.它很好地把自己借给了基-8,所以一个12位的“单词”是4个八进制数字。八进制仍然有效,但在8位字节的标准化方面有点不顺。(三个十六进制数字也可以工作,但指令集的主要操作码字段是3位,那时程序员花了很多时间研究机器代码。)

请注意,正如程序员使用各种数字基一样,今天,程序员使用的是各种各样的不同的数字。

这些都是编码(以及后来解释)二进制信息的方法,更不用说如何与人类共享这些信息了。

串行化是另一个相关术语;它是一种将表示转换为各种用途的方法,例如人类可读性或网络传输。

票数 6
EN

Software Engineering用户

发布于 2016-07-21 20:28:36

它总是归结为寻址空间。在现代计算机中,任何地址空间都是2的幂。例如,一个字节(2^8)可以容纳256个不同的值,2字节字(2^16)可以容纳65536。与此直接相关的是,内存大小仅为2的幂。将这些值表示为十进制并不“适合”地址空间,这意味着您在填充空格时不会用完数字。十不是电脑的本土化,而是人类用手指数数的本土化。

如果我们看看这个字节,然后计数,直到它满了,以16为基数,我们将从00到FF。我们永远不需要超过2位数,很明显,80是一半。这也是很容易转换为二进制,因为你可以映射每个16基数字到四个2基数字(位)。因此,如果你必须处理比特掩码,16基数将比10基数容易得多。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/325255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档