牛客网刷题day25

1.面向对象程序设计语言的三个基本特征是封装、继承、多态。( A )
A.正确
B.错误
解析;
封装继承多态是面向对象编程语言的三大核心


2.在 Internet 中不需运行 IP 协议的设备是 ( B )
A.路由器
B.集线器
C.服务器
D.工作站
解析:
路由器是网络层设备,需要运行IP协议;
服务器和工作站的网络层也运行IP协议;
集线器是物理层设备,不需要运行IP协议。


3.一个路由器可以同时属于多个网络。( A )
A.正确
B.错误
解析:
路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。


4.将一个局域网连入 Internet ,首选的设备是 ( A ) 。
A.路由器
B.中继器
C.网桥
D.网关
解析:
在internet 中负责连接各个局域网或广域网的设备是路由器。


5.在各种交换技术中,目前使用最广泛的是 ( C ) 。
A.电路交换
B.ATM交换
C.分组交换
D.帧中继交换


6.能把主机域名地址解释为IP地址的协议是_ C 。
A.ARP
B.RARP
C.DNS
D.DHCP
解析:
ARP协议:根据IP地址获取MAC地址
RAPR协议:根据MAC地址获取IP地址
DNS协议:域名(主句名)映射至IP地址
DHCP:为接入网络设备动态分配IP地址(内网IP)


7.双绞线的距离一般不超过( B )米。
A.50
B.100
C.200
D.500
解析:
双绞线的最大传输距离为100m。如果要加大传输距离,在两段双绞线之间可安装中继器,最多可安装4个中继器。如安装4个中继器连接5个网段,则最大传输距离可达500m。


8.某部门申请到一个C类IP地址,若要分成14个子网,其掩码应为( C )。
A.255.255.255.255
B.255.255.255.0
C.255.255.255.240
D.255.255.255.192
解析:
C,本身C类地址子网掩码为255.255.255.0,要再划分成14个子网(实际上只能划分为2的整数次幂,比14大的最小的也就是16,需要4bit来表示),所以,从8位主机号中再分出4位表示子网,掩码为11111111.11111111.11111111.11110000即为255.255.255.240


9.关于比特和波特,下面说法正确的是( D )。
A.比特和波特施一个概念
B.比特是码元传输速率单位
C.波特是信息量单位
D.某些情况下,“比特/秒”和“波特”在数值上是相等的
解析:
1波特即指每秒传输1个码元符号 1比特/秒是指每秒传输1比特 一个码元可以携带多个比特, 例如BPSK调制一个码元携带1个比特, QPSK调制一个码元携带2个比特, 16QAM调制一个码元携带4个比特, 因此在某些情况下, 数值上可以相等


10.经过强制类型转换以后,变量a, b的值分别为( C )short a = 128; byte b = (byte) a;
A.128 127
B.128 -128
C.128 128
D.编译错误
解析:
byte在内存中占一个字节,范围是 -128到127之间。
将128强制类型转换为byte型,就超出了byte型的范围,
128的二进制存储是 1000 0000 转换为byte型后,最高位是符号位,值是-128

1、Java中用补码形式表示
  
  
    2、第一位正负位,1表示负,0表示正。
  
  
    3、原码:一个数的二进制表示。
  
  
                     3的原码00000011   -3的
    原码
    10000011
  
  
    4、反码:负数原码按位取反(符号位不变)。正数原码本身。
  
  
                    3的反码00000011   -3的反码11111100
  
  
    5、补码:正数是原码本身。负数反码加1。
  
  
                     3的补码是00000011  -3的补码是11111101
  
  
    -------------------------------------------------------------------------------
  


  int占4个字节,32位


  byte占1个字节,8位


  所以强转时会截断。前24位


  ---------------------------------------------------------------------------


  在内存中表示形式(
      注意java中是以补码表示一个数,所以表示形式是补码,不是原码!
    ):


  int a = 3        
  00000000 
  00000000 
  00000000 00000011 (强转byte时前面24个0被截断)


  byte b = 3     
  00000011


  int a = -3       11111111 
  11111111
   
  11111111
   
  11111101
  (强转byte时前面24个1被截断)


  byte b = -3    
  11111101


  ----------------------------------------------------------------------------


  已知负数的补码,求负数:

  补码-1=反码,反码按位取反=该负数绝对值 

  已知负数,求负数的补码:


  1、负数原码除了符号位,按位取反(不含符号位),加1。


  2、负数绝对值的补码(也就是原码),按位取反(含符号位),加1


  -------------------------------------------------------------------------------


  例子:

  java int 128转为byte,值: 

  128为正数,补码为10000000(前面24个0省略),变成byte,只剩下10000000(byte为1个字节),因为开头是1,所以为负数。即1个负数的补码是10000000。反码是01111111,原码是1000000。是128.因为是负数,所以是-128。 

猜你喜欢

转载自blog.csdn.net/qq_42393388/article/details/84260549
今日推荐