龙空技术网

二进制和十六进制的优点

算法集市 953

前言:

此时姐妹们对“c十六进制二进制算法”大概比较关心,朋友们都需要学习一些“c十六进制二进制算法”的相关文章。那么小编也在网上汇集了一些对于“c十六进制二进制算法””的相关知识,希望我们能喜欢,小伙伴们一起来学习一下吧!

现代计算机的存储和处理的信息以二值信号来表示,这些用0和1来表示的二进制数字,形成了数字革命的基础。对于有10个手指的人类来说,使用十进制表示法是很自然的事情,但是对构造存储和处理信息的机器来说,二进制工作得更好。

二值信号可以很容易地被表示、存储和传输。例如,可以表示为穿孔卡片上有洞或无洞、导线上的高电压或低电压,或者顺时针或逆时针的磁场。

对于二值信号进行存储和执行计算的电子电路非常简单可靠,制造商能够在一个单独的硅片上集成数百万甚至数十亿个这样的电路。

大多数计算机使用8位的块(字节,byte),作为最小的可寻址的内存单位,而不是访问内存中单独的位。

一个字节由8位组成,用二进制表示,它的值域是 0000 0000 ~ 1111 1111;用十进制表示,它的值域是 0 ~ 255。

可以看出,用二进制表示法太冗长,而十进制表示法与位模式的互相转换很麻烦,替代的方法是以16为基数,即十六进制(hexadecimal)。

十六进制用数字 0 ~ 9 及字符 A ~ F 来表示 0 ~ 15 这16个值。十六进制和二进制、十进制的对应关系如下图所示。

可以看到,十六进制和二进制之间的转换比较简单直接。因此,一个字节常用十六进制表示,它的值域是 00 ~ FF。

在C语言中,以0x或0X开头的数字常量被认为是十六进制的值。比如给定一个十六进制表示的数字:0x173A4C,转为二进制则为:

反过来,如果给定一个二进制数字,可以通过把它分为每4位一组来转换为十六进制。需要注意的是,如果总位数不是4的倍数,最左边的一组可以少于4位,前面用0补齐。

标签: #c十六进制二进制算法