为什么要有十六进制数,为什么有的十六进制数是这种形式的,0xff ?

2020-11-22 05:15:33 字数 5267 阅读 6939

1楼:匿名用户

众所周知计算机使用二进制较为方便,但是过长的数字**对人的阅读造成了较大的障碍,为了解决这一问题,才使用十六进制来表示二进制,4位二进制数用1位十六进制数就可以表示,例如一个16位的二进制数1111 1111 1111 1111用十六进制ffff就可以表示了。

为什么有的十六进制数是这种形式的,0xff ?

2楼:匿名用户

前面的0x代表后面所跟数字是十六进制数。实际上a里面的值就是十六进制的ff。之所以会有以0x开头 标记的 16进制, 是为了帮助记忆。

你可能会想,人们最习惯的就是10进制。能用10进制的话不是更好记忆么?其实,用16进制帮助记忆是相对2进制来说的。

二进制的每4个位 为 一个十六进制的 1个位。比如:15 在二进制中表示 1111, 而用16进制 表示为 f,这样大大的简化了记忆上的问题。

但是这似乎并没有解释为什么不用10进制?原因是2进制 并不能很轻松的 转换成10 进制,却能每4位转成 1个位的16进制位。而很多情况下,我们必须使用2进制的数据形式,然而用不太好记忆。

所以就用16进制。什么时候用2进制?举个例子:

字母的大小写转换,小写字母的asc码永远比大写的 大了32.也就是第6个位 如果是0 就是大写, 1就是小写,这个时候就需要用到 与 和 或 操作来转换大小写。与 和 或 是位操作。

如果用1111010101这样的数据表示的话,会很蛋疼的。换成16进制就看起来轻松多了。

3楼:匿名用户

c或者c++等语言中:0x开头是一个记号,表示十六进制。比如:0xff就是十进制(255)0x0000就是0

4楼:匿名用户

0x开头表示十六进制,f表示十进制的15,定义int a=0xff是把十六进制的ff赋值给了a,数据0x0000表示数据长是16位的

计算机内存地址为什么要用16进制数来表示

5楼:零下七度

因为在计算机内部,二进制数据转换为十六进制数据最直接、最快捷,占用存储空间最小。

在数据传输和存储中主存储器的存储单元以字节为单位,每个存储单元都有一个地址与其对应,假定主存储器的容量为n,则该主存储器就有n个存储单元(既n个字节的存储空间),其地址编号为:0,1,2,……,n-1。

把主存空间的地址编号称为主存储器的绝对地址,与绝对地址对应的主存空间称为物理地址空间。

16进制数机制

进位制/位置计数法为一种记数方式,可以用有限的数字符号代表所有的数值。可使用数字符号的数目称为基数(en:radix)或底数,基数为n,即可称n进位制,简称n进制。

现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数。

对于任何一个数,我们可以用不同的进位制来表示。比如:十进数57(10),可以用二进制表示为111001(2),也可以用五进制表示为212(5),也可以用八进制表示为71(8)、用十六进制表示为39(16),所代表的数值都是一样的。

6楼:sb零点零一

1.因为16进制和二进制转换很容易看出来。

2.一位就是4个二进制位,与或运算一眼就能看出来。

3.十进制转换如果要置位,要运算还得转换回去,因为最根本的还是二进制的。

4.另外内存地址用16进制也算是约定俗成,如果地址也用十进制你可能分不清哪个是地址哪个是值。

内存地址的作用:

在8086的实模式下,把某一段寄存器左移4位,然后与地址addr相加后被直接送到内存总线上,这个相加后的地址就是内存单元的物理地址,而程序中的这个地址就叫逻辑地址(或叫虚地址)。在80386的保护模式下,这个逻辑地址不是被直接送到内存总线,而是被送到内存管理单元(mmu)。mmu由一个或一组芯片组成,其功能是把逻辑地址映射为物理地址,即进行地址转换。

7楼:宝山居士

在计算机内部,二进制数据转换为 十六进制数据最直接、最快捷,占用存储空间最小。

8楼:听风忆海

2进制数据太长了,对其进行计算需要花费不少时间,而16进制恰恰解决了这个问题,因为进制越大,数的表达长度越短.这样就缩短了计算时间.

数字设备为什么要使用八进制和十六进制

9楼:匿名用户

数字设备用的是2进制,2进制和8进制转换非常容易(相对10进制),不需要短除,口算就够了

什么是2进制,16进制?为什么要发明这两种进制?有什么好处?

10楼:匿名用户

二进制 一般和电脑 底层最接近的. 因为电子电路中的 电流有两种方式,

要么是低电平(你可以理解成 断电) 二进制就是 0

要么是高电平(你可以理解成 通电) 二进制就是 1

除此之外 一个电子管两端 不会出现第三种方式... 所以电脑电板 有很多的电子管, 然后 cpu 或者单片机中都有个能够将指令 0 和 1 转换对应电流, 不要研究的太深了, 只要晓得就可以了, 不然你就要去研究cpu 是怎么解码 0 和 1 的了... 这没必要

再就是 十六进制.. 十六进制用的最多的地方是 汇编语言中, 说到汇编, 如果你学了汇编,你就会发现 为什么会出现这么多的进制了,,, 十六进制 一共有个 2个8位, 也就是编程中的 一个字

十六进制 中可以存放 2*8个 二进制码, 一般是一些数据... 这里说不清, 因为我的汇编不怎么好,

你可以去学学 汇编语言 这种编程语言 就晓得了.... 但是我想说的是 这些进制 都和 内存有关系

11楼:匿名用户

因为电脑里设计二进制的电路最简单,成本最低,所以电脑里用二进制我们的u盘之类,里面都是存放二进制的。

而二进制书写太长了,太麻烦了,所以设计十六进制来写二进制一个十六进制就相当于4位的二进制

计算机有二进制和十进制,为什么还要搞个八进制,十六进制?

12楼:哎哟

这是由于降低成本使得数字允许通过数码管,七段显示器,和计算器用于操作员控制台。

八进制广泛应用于计算机系统,如pdp-8,icl 1900和ibm大型机使用12位、24位或36位。八进制为这些基础,因为他们的最理想的二进制字缩写大小能被3整除(每个八进制数字代表三个二进制数字)。

四、八到十二个数字可以简明地显示整个机器,也降低成本使得数字允许通过数码管,七段显示器,和计算器用于操作员控制台,在二进制显示使用过于复杂,然而十进制显示需要复杂的硬件,十六进制显示需要显示更多的数字。

13楼:匿名用户

十进制计数法是相对二进制计数法而言的,是我们日常使用最多的计数方法。计算机内部使用二进制表示数,二进制与十进制的转换是比较复杂的。

由于二进制数据的基r较小,所以二进制数据的书写和阅读不方便,为此,在小型机中引入了八进制。八进制适用于12位和36位计算机系统(或者其他位数为3的倍数的计算机系统)。

由于二进制数在使用中位数太长,不容易记忆,所以又提出了十六进制数。比较短容易记忆且适于大部分位数为二的幂(8位,16位,32位与64位计算机系统)的计算机系统。

14楼:匿名用户

计算机只有2进制

。十进制、十六进制、八进制是为了使用方便。

十进制是最符合人类自然计数方式的一种进制。

八进制基本被淘汰。

十六进制可以用两位正好描述一个字节(8位2进制),故在计算机汇编级编程时大量使用。

注:inter 系列 cpu支持 加减结果的十进制调整,使用bcd码。(用4位二进制数来表示1位十进制数中的0~9这10个数码,简称bcd码,即bcd**。

binary-coded decimal,简称bcd,称bcd码或二-十进制**,亦称二进码十进数。是一种二进制的数字编码形式,用二进制编码的十进制**。)

15楼:匿名用户

纠正一下,计算机只有二进制!!!搞那么多的进制是为了表示方便

为什么4个二进制数可以表示一个十六进制数啊?

16楼:匿名用户

4位2进制数一共可以组成16个不同情况,分别对应16进制数的不同数值.

0000--0 0001--1 0010--2 0011--3 ................ 1101--d 1110--e 1111--f

这样1位十六进制数就可以用4位二进制数表示.

17楼:匿名用户

是4位二进制数表示一个十六进制数。因为十六进制数是从0-15,2进制正好要4位可以全部表示0-15。

18楼:匿名用户

二进制 十进制 十六进制0000 0 00001 1 10010 2 2……1100 12 c

1101 13 d1110 14 e1111 15 f计算方法:

如(1100)b = 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 0 * 2^0 =8+4+0+0=12

19楼:匿名用户

2的4次方等于是16,就是说16是2的幂。

20楼:匿名用户

这个是计算机转换的规则呀。

为什么负的16进制数最前面要加个0

21楼:这么多人我

16进制怎么表示:十六进制全字节表

示8-f开头的有符号数都是负数,如0x8fff(16bit数)八进制全字节表示4-7开头的有符号数都是负数047777(15bit数)

上面是都可以满字节表示时候才是对的,正常情况下转换成二进制计算0f4h=11110100b这个?就表示负的了?为什么前边加零?

0f4h=000011110100b这个是正数前面的0就是为了明确表示它的位数

22楼:苏堤旧事

为了与绝对值相同的正16进制

数区别。

十六进制(英文名称:hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。

它由0-9,a-f组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;a-f对应10-15;n进制的数可以用0~(n-1)的数表示,超过9的用字母a-f。