英语法语西班牙语

Ad


OnWorks 网站图标

bin_dec_hex - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 bin_dec_hex

这是命令 bin_dec_hex 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


bin_dec_hex - 如何使用二进制、十进制和十六进制表示法。

商品描述


大多数人使用十进制编号系统。 本系统用十个符号来表示
数字。 当这十个符号用完时,它们会重新开始并增加
位置向左。 数字 0 仅在它是序列中唯一的符号时才显示,
或者如果它不是第一个。

如果这对你来说听起来很神秘,这就是我刚才所说的数字:

0
1
2
3
4
5
6
7
8
9
10
11
12
13

等等。

每次数字 0 增加时,它都会重置为 XNUMX 和之前的位置(到
left) 递增(从 0 到 1)。 那么数字 9 可以被视为“00009”,当我们
应该增加 9,我们将其重置为零并在 9 之前增加数字,因此
号码变为“00010”。 我们不写前导零,除非它是唯一的数字
(数字 0)。 当然,如果它们出现在一个内部或末尾的任何地方,我们就写零
数:

“00010”->“0010”->“010”->“10”,但不是“1”。

这是非常基本的,你已经知道了。 我为什么要说? 嗯,电脑通常
不代表具有 10 个不同数字的数字。 他们只使用两种不同的符号,
即“0”和“1”。 对这组数字应用相同的规则,你会得到二进制
编号系统:

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101

等等。

如果您计算行数,您会发现它们又是 14 个不同的数字。 这
数字与第一个列表中的数字相同且含义相同,我们只是使用了不同的
表示。 这意味着您必须知道所使用的表示形式,或原样
称为编号系统或基数。 通常,如果我们不明确指定
使用的编号系统,我们隐式使用十进制系统。 如果我们想使用任何其他
编号系统,我们必须说清楚。 有几种广泛采用的方法
这样做。 一种常见的形式是写 1010(2) 这意味着你在它的里面写下了一个数字
二进制表示。 这是十号。 如果你不指定就写 1010
基数,使用基数 10 将数字解释为一千零十。

在书籍中,另一种形式很常见。 它使用下标(小字符,或多或少在
两行之间)。 在这种情况下,您可以省略括号并写下
普通字符中的数字,后面紧跟一个小 XNUMX。

由于所使用的编号系统也称为基数,因此我们谈论数字 1100,基数为 2,
数字 12 以 10 为底。

在二进制系统中,写前导零是很常见的。 数字是写的
根据上下文依次向下排列四、八或十六。

我们在与计算机交谈时可以使用二进制形式(...编程...),但数字
会有很大的代表。 数字 65'535(通常在十进制系统中 a ' 是
用于分隔三位数字块以提高可读性)将被写成
1111111111111111(2)这是数字16的1倍。这很困难,容易出错。
因此,我们通常会使用另一种基数,称为十六进制。 它使用 16 种不同的
符号。 首先使用十进制的符号,然后我们继续
字母字符。 我们得到 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E 和 F。这个
选择系统是因为十六进制形式可以非常好地转换为二进制系统
很容易(和回来)。

还有另一种系统在使用,称为八进制系统。 这种情况在
旧时代,但不再经常使用。 正如您有时可能会发现它在使用中一样,您
应该习惯它,我们将在下面展示它。 这是与另一个相同的故事
表示,但有八个不同的符号。

二进制(2)
八进制(8)
十进制(10)
十六进制 (16)

(2)(8)(10)(16)
00000 0 0 0
00001 1 1 1
00010 2 2 2
00011 3 3 3
00100 4 4 4
00101 5 5 5
00110 6 6 6
00111 7 7 7
01000 10 8 8
01001 11 9 9
01010 12 10 A
01011 13 11 B
01100 C
01101 15 13 天
01110 16 14 电子
01111 17 15 法郎
10000 20 16 10
10001 21 17 11
10010 22 18 12
10011 23 19 13
10100 24 20 14
10101 25 21 15

现在使用的大多数计算机都使用八位字节。 这意味着他们存储
一次八位。 您可以看到为什么八进制系统不是最实用的:
您需要三位数字来表示八位,这意味着您必须使用
一个完整的数字只代表两位 (2+3+3=8)。 这是一种浪费。 对于十六进制
数字,您只需要完全使用的两个数字:

(2)(8)(10)(16)
11111111 377 255

可以看出为什么可以快速转换二进制和十六进制:对于每个十六进制
digit 正好有四个二进制数字。 取一个二进制数:取四位数字
并从中生成一个十六进制数字(见上表)。 重复这个直到
没有更多的数字了。 反之亦然:取一个十六进制数。 对于每个
数字,写下它的二进制等价物。

计算机(或者更确切地说是在其上运行的解析器)将很难转换
数像 1234(16). 因此十六进制数用前缀指定。 这个
前缀取决于您使用的语言。有些前缀是 C 的“0x”,“$”
对于 Pascal,“#”对于 HTML。 通常假设如果一个数字以零开头,它
是八进制。 只要您知道它是什么,使用什么并不重要。 我将使用“0x”
十六进制,“%”代表二进制,“0”代表八进制。 以下数字均为
相同,只是它们的表示(基础)不同:021 0x11 17 %00010001

要进行算术和转换,您还需要了解一件事。 它是东西
你已经知道了,但也许你还没有“看到”它:

如果你写下 1234,(没有前缀,所以它是十进制的)你在谈论第一
一千,二百三十四。 在某种公式中:

1 * 1000 = 1000
2 * 100 = 200
3 * 10 = 30
4 * 1 = 4

这也可以写成:

1*10^3
2*10^2
3*10^1
4*10^0

其中 ^ 的意思是“to the power of”。

我们使用基数 10,位置 0,1,2 和 3。最右边的位置应该
不乘以 10。从右数第二个应乘以
10. 右数第三个乘以 10 两次。 这将持续下去
职位被使用。

在所有其他表示中都是相同的:

0x1234 将是

1*16^3
2*16^2
3*16^1
4*16^0

01234 将是

1*8^3
2*8^2
3*8^1
4*8^0

这个例子不能用于二进制,因为该系统只使用两个符号。 其他
例:

%1010 将是

1*2^3
0*2^2
1*2^1
0*2^0

将其转换为十六进制形式并仅转换 %1010 会更容易
到 0xA。 过一段时间你就习惯了。 您无需进行任何计算
不再,但只要知道 0xA 意味着 10。

要将十进制数转换为十六进制数,您可以使用下一种方法。 这将需要
需要一些时间才能进行估算,但是当您使用该系统时会更容易
更频繁。 之后我们再看另一种方式。

首先,您需要知道在另一个系统中将使用多少个职位。 为此,您
需要知道您将使用的最大数量。 嗯,这并不像看起来那么难。 在
十进制,您可以用两位数组成的最大数字是“99”。 最大值为
三:“999”。 下一个数字需要一个额外的位置。 扭转这个想法,你会
看到数字可以通过取 10^3 (10*10*10 是 1000) 减去 1 或 10^2 减去
一。

这也可以用于十六进制:

16^4 = 0x10000 = 65536
16^3 = 0x1000 = 4096
16^2 = 0x100 = 256
16^1 = 0x10 = 16

如果数字小于 65'536,它将适合四个位置。 如果数字更大
比 4'095,你必须使用位置 4。你可以从 4'096 中减去多少次
不低于零的数字是您记下的第一个数字。 这将永远是一个
从 1 到 15(0x1 到 0xF)的数字。 对其他位置执行相同操作。

让我们试试 41'029。 它小于 16^4 但大于 16^3-1。 这意味着我们
必须使用四个位置。 我们可以从 16'3 中减去 41^029 十次而不去
零下。 因此,最左边的数字将是“A”,所以我们有 0xA????。 号码是
减少到 41'029 - 10*4'096 = 41'029-40'960 = 69。69 小于 16^3 但不大于
比 16^2-1。 因此,第二个数字是“0”,我们现在有 0xA0??。 69小于
16^2 且大于 16^1-1。 我们可以四次减去 16^1(也就是普通的 16),然后
写下“4”得到 0xA04?。 64减去69 (69 - 4*16) 最后一位是5 -->
0xA045。

另一种方法是从右边开始增加数字。 让我们再试一次 41'029。 被除以
16 并且不要使用分数(只有整数)。

41'029 / 16 是 2'564,余数为 5。记下 5。
2'564 / 16 是 160,余数为 4。在 4 之前写出 5。
160 / 16 是没有余数的 10。 在 45 前面加上 0。
10 / 16 低于 0。 到这里结束并在前面加上 0xA。 以 045xAXNUMX 结尾。

使用哪种方法取决于您。 使用任何对你有用的东西。 我用它们都没有
能够说出我在每种情况下使用的方法,这仅取决于数量,我想。
事实上,一些数字在编程时会频繁出现。 如果数量接近
一个我熟悉的,那我就用第一种方法(比如32'770就是32'768
+ 2,我只知道它是 0x8000 + 0x2 = 0x8002)。

对于二进制,可以使用相同的方法。 基数是 2 而不是 16,
职位将快速增长。 使用第二种方法的好处是可以看到
如果您应该写下零或一,则很容易:如果您将余数除以二
如果是偶数,则为零,如果是奇数,则为 XNUMX:

41029 / 2 = 20514 余数 1
20514 / 2 = 10257 余数 0
10257 / 2 = 5128 余数 1
5128 / 2 = 2564 余数 0
2564 / 2 = 1282 余数 0
1282 / 2 = 641 余数 0
641 / 2 = 320 余数 1
320 / 2 = 160 余数 0
160 / 2 = 80 余数 0
80 / 2 = 40 余数 0
40 / 2 = 20 余数 0
20 / 2 = 10 余数 0
10 / 2 = 5 余数 0
5 / 2 = 2 余数 1
2 / 2 = 1 余数 0
1 / 2 低于 0 余数 1

从右到左记下结果:%1010000001000101

四人组:

1010000001000101%
%101000000100 0101
%10100000 0100 0101
%1010 0000 0100 0101

转换成十六进制:0xA045

将 %1010000001000101 分组为三并转换为八进制:

1010000001000101%
%1010000001000 101
%1010000001 000 101
%1010000 001 000 101
%1010 000 001 000 101
%1 010 000 001 000 101
%001 010 000 001 000 101
1 2 0 1 0 5 --> 0120105

所以:%1010000001000101 = 0120105 = 0xA045 = 41029
或: 1010000001000101(2)= 120105(8)= A045(16)= 41029(10)
或: 1010000001000101(2)= 120105(8)= A045(16)= 41029

首先,在添加数字时,您会将它们转换为十进制形式,然后再返回
加法后变成原来的样子。 如果您使用其他编号系统
通常,您会看到您将能够直接在基数中进行算术运算
用过的。 在任何表示中它都是相同的,将右边的数字相加,写下
结果中最右边的数字,记住其他数字并在下一个数字中使用它们
圆形的。 继续从右边数第二个数字,依此类推:

%1010 + %0111 --> 10 + 7 --> 17 --> %00010001

会变成

1010%
%0111+
||||
|||+-- 加0 + 1,结果为1,没什么好记的
||+--- 加1+1,结果是%10,记0记1
|+---- 加0 + 1 + 1(记住),结果= 0,记住1
+----- 加 1 + 0 + 1(记住),结果 = 0,记住 1
没什么可添加的,1 记住了,结果 = 1
--------
%10001 是结果,我喜欢把它写成 %00010001

对于低值,尝试自己进行计算,然后用计算器检查它们。
你自己做的计算越多,你就越会发现你没有做
错误。 最后,你会像在其他基础上一样轻松地做微积分
十进制。

当数字变大时,您将不得不意识到计算机不称为
电脑只是为了有一个好听的名字。 有许多不同的计算器可用,请使用
他们。 对于 Unix,您可以使用“bc”,它是 Binary Calculator 的缩写。 它计算不
仅以十进制表示,但在您想要使用的所有基数中(其中包括二进制)。

对于 Windows 用户:启动计算器(开始->程序->附件->计算器)和
如有必要,单击查看-> 科学。 你现在有一个科学计算器,可以计算
二进制或十六进制。

使用 onworks.net 服务在线使用 bin_dec_hex


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    深层清洁
    深层清洁
    核对所有构建的 Kotlin 脚本
    来自 Gradle/Android 项目的缓存。
    当 Gradle 或 IDE 允许您时很有用
    向下。 该脚本已经过测试
    macOS,但是...
    下载深度清理
  • 2
    Eclipse Checkstyle 插件
    Eclipse Checkstyle 插件
    Eclipse Checkstyle 插件
    集成了 Checkstyle Java 代码
    审计员进入 Eclipse IDE。 这
    插件提供实时反馈
    用户关于viol...
    下载 Eclipse Checkstyle 插件
  • 3
    AstrOrz播放器
    AstrOrz播放器
    AstrOrz Player 是一款免费的媒体播放器
    软件,部分基于 WMP 和 VLC。 这
    播放器采用极简风格,带有
    十多个主题色,还可以
    B ...
    下载 AstrOrzPlayer
  • 4
    电影启动器
    电影启动器
    Kodi Movistar+ TV 是 XBMC/ 的 ADDON
    Kodi 许可分配器
    IPTV服务解码器
    Movistar Integrado en uno de los
    媒体中心马...
    下载 movistartv
  • 5
    代码::块
    代码::块
    Code::Blocks 是一个免费的、开源的、
    跨平台 C、C++ 和 Fortran IDE
    专为满足最苛刻的需求而打造
    它的用户。 它的设计非常
    扩展...
    下载代码::Blocks
  • 6
    之中
    之中
    中间或高级 Minecraft 界面
    和数据/结构跟踪是一种工具
    显示 Minecraft 的概览
    世界,而无需实际创造它。 它
    能够 ...
    下载烟雨
  • 更多 ”

Linux 命令

Ad