00100000的十进制是多少?

进制对于任何已知类型的传统计算机而言,均以1和0作为编码形式进行程序计算。在电路结构中,高电平与低电平对应表示1和0。计算机内部表示任何数据都是用二进制。而与人进行交互时,可以将数......

00100000的十进制是多少

接下来具体说说

当我们设置IP地址为0.0.0.0时,是在表达什么

什么是IP地址

简单说 IP 地址是由32位二进制数组成的一串编码。但是因为32位二进制不好记忆,我们经常会用点分十进制方式来表示 IP 地址,也就是每八位二进制为一组,将其转换成成十进制,中间用点隔开。比如 11000000 10101000 00100000 00001010 转换为点分十进制为 192.168.32.10

IP地址作用

IP 地址是用来做网络寻址用的。互联网上的每台设备都有一个唯一的 IP ,相当于你家的门牌号。当一台设备想和互联网上另外一台设备通信时,便是通过 IP 地址找到对方设备。更多的 IP 地址相关知识不在这里做过多的介绍,不是本文重点。

0.0.0.0

要想说明 0.0.0.0 这个 IP 地址代表的含义,需要从两个方面来说明。

配置在计算机或者网络设备上

当在自己电脑上配置IP地址为 0.0.0.0 的时候,表示这台机器在网络上是不可达的。比如你的笔记本电脑在没有联网的时候, IP 地址很可能是用 0.0.0.0 来标识,表示本机没有分配到一个可用的 IP 地址。除此之外, 0.0.0.0 也经常用于在防火墙或者路由设备上设置网络策略时表示任何网络地址。

配置在软件的配置文件上

除了在硬件设备上,在提供网络服务的软件配置文件中,也经常见到binding的 IP 地址为 0.0.0.0 。比如 Redis 服务binding的地址, Tomcat 服务bind的地址。当在应用程序配置文件中配置的binding地址为 0.0.0.0 的时候表示可以监听该服务器上所有网卡过来的信息。

很多服务器都是有双网卡的,比如其中一个网卡的 IP 地址为 192.168.32.10 ,另一块网卡的 IP 地址是 192.168.45.30 。如果配置成 0.0.0.0 表示无论你从哪个 IP 地址访问这个服务都是 OK 的,甚至通过 127.0.0.1 这个环回地址来访问也是OK的。

相反如果在配置文件中,配置的 IP 是一个具体的 IP ,那么只能通过具体 IP 来访问,通过其他 IP 没办法访问。比如你配置的是 127.0.0.1 或者 192.168.32.10 ,那么通过 192.168.45.30 ,就访问不到对应的服务。

127.0.0.1

127.0.0.1 也被称为环回地址,所谓的环回地址是指,该地址只能被本机访问,并且发往 127.0.0.1 的数据报不经过物理层和链路层。直接经过网络层,传输层到应用层。

总结

十进制与二进制

二进制

对于任何已知类型的传统计算机而言,均以1和0作为编码形式进行程序计算。

在电路结构中,高电平与低电平对应表示1和0。

计算机内部表示任何数据都是用二进制。而与人进行交互时,可以将数据转换成人可以理解的内容:10进制、文字、图片、音频视频。

不同进制的计算方式是相通的:

十进制十进制逢十进一

二进制二进制逢二进一

9+1 --> 10

1+1 --> 10

99+1 --> 100

11+1 --> 100

从0开始一直加1:

十进制 二进制

0

0

1

1

2

10

3

11

4

100

5

101

6

110

7

111

8

1000

9

1001

10

1010

11

1011

. ..

...

128

10000000

十进制乘10和二进制乘2运算比较:

十进制乘10

二进制乘2

93*10 --> 930

1*2 --> 10

930*10 --> 9300

10*2 --> 100

9300*10 --> 93000

100*2 --> 1000

93000*10 --> 930000

1000*2 --> 10000

常用的二进制值:

十进制

二进制

用2的指数表示

1

1

2^0

2

10

2^1

4

100

2^2

8

1000

2^3

16

10000

2^4

32

100000

2^5

64

1000000

2^6

128

10000000

2^7

256

100000000

2^8

512

1000000000

2^9

1024

10000000000

2^10

2048

100000000000

2^11

4096

1000000000000

2^12

8192

10000000000000

2^13

每加一个0都是乘2,所以用2的指数来表示。

例如 10000000,1后面有7位,就可以用2的7次方表示。

用2的指数可以很方便的表示任意的数字值:

10进制

2进制

2的指数

1

00000001

2^0

8

00001000

2^3

16

00010000

2^4

32

00100000

2^5

相加

相加

57

00111001

bit 和 byte

bit - 位

byte - 字节

00100000的十进制是多少?

一个 bit 表示一个电位,1 或 0;一个 byte 表示 8 个电位。

个人安装的光纤宽带如果是 100 兆宽带,下载*高速度只能到十几兆,这是因为采用的表示单位不同。100兆宽带指的是100兆bit,我们一般说下载速度指的是byte,那么100兆bit换算成byte需要除8,也就是 12.5 兆 byte。

java 中的 byte 类型

java 中的 byte 类型整数是单字节类型,也就是说,它使用 8 位(bit) 来表示整数。

8 位(bit)能表示的数字:

10进制

2进制

0

00000000

1

00000001

2

00000010

3

00000011

4

00000100

5

00000101

6

00000110

7

00000111

8

00001000

...

...

255

11111111

但是,java中,byte类型的左侧的一位规定用来表示符号,0表示正数,1表示负数。那么它表示数字的位就只有7位,而不是8位:

java 中 byte 类型表示正数:

10进制

2进制

0

00000000

1

00000001

2

00000010

3

00000011

4

00000100

5

00000101

6

00000110

7

00000111

8

00001000

...

...

127

01111111

java 中 byte 类型表示负数:

java 的 byte 类型如何表示负数?我们先从 0-1 这个运算来看:

java 中的负数运算,执行的是与正数相同的加减运算,这样执行 0-1 运算得到的二进制值是 11111111,表示 -1,那么可以以此类推,继续执行减1运算减到最小:

-128

10000000

...

...

-8

11111000

-7

11111001

-6

11111010

-5

11111011

-4

11111100

-3

11111101

-2

11111110

-1

11111111

10进制

2进制

0

00000000

1

00000001

2

00000010

3

00000011

4

00000100

5

00000101

6

00000110

7

00000111

8

00001000

...

...

127

01111111

四种整数类型的最小和最大值

与 byte 类型同理,short,int 和 long 也是用相同的方式表示整数。这四种类型的最小值和最大值分别可以这样表示:

byte(1字节,8位):

2进制

2的指数

最小

10000000

-2^7

最大

01111111

2^7 - 1

short(2字节,16位):

2进制

2的指数

最小

10000000 00000000

-2^15

最大

01111111 11111111

2^15 - 1

int(4字节,32位):

2进制

2的指数

最小

10000000 00000000 00000000 00000000

-2^31

最大

01111111 11111111 11111111 11111111

2^31 - 1

long(8字节,64位):

2进制

2的指数

最小

10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

-2^63

最大

01111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

2^63 - 1

二进制和十进制的互转

java 中提供了二进制和十进制的互转方法:

十进制转二进制

Integer.toBinaryString(int i)

String s = Integer.toBinaryString(257);

System.out.println(s);

// 打印结果: 100000001

1

2

3

4

二进制转十进制

Integer.parseInt(String s, int radix)

- 第二个参数指定进制

- 这里不支持直接使用负数的二进制码来表示负数,而是要用正数的二进制码添加负号来表示

int a = Integer.parseInt("1100101101", 2);

System.out.println(a);

以上就是00100000的十进制是多少?的详细内容,希望通过阅读小编的文章之后能够有所收获!

版权:本文由用户自行上传,观点仅代表作者本人,本站仅供存储服务。如有侵权,请联系管理员删除,了解详情>>

发布
问题