1个字节是8位,二进制8位:xxxxxxxx 范围从00000000-11111111,表示0到255。一位16进制数(对应二进制是1111)最多只表示到15(对应16进制的F),要表示到255,就还需要第二位。
计算机内存储和处理信息的最小单
位
是
位
(bit,或比特),
一个
比特值可以是0或1,不能再分割
1bit =
一个
二进制
位
01011110 = 表示
一个
8
位
的字(比特)表示8
位
的二进制数
二、byte(
字节
)
通常8个二进制
位为
一个
字节
(byte)
三、换算关系
8个二进制
位
(bit)= 1
字节
(byte)
四、与
16进制
的关系
1、通常
一个
字节
=两个
16进制
位
过程解析:1个
16进制
数 = 4个二进制数
位
,
2个
16进制
数...
西安郵電學院 计算机网络技术及应用实验 报 告 书 "系部名称 ": "管理工程学院 " "学生姓名 ": "*** " "专业名称 ": "********* " "班 级 ": "**** " "学号 ": "******** " "时间 ": "2012年04月01日 " 实验题目 Wireshark抓包分析实验 1. 实验目的 1.了解并会初步使用Wireshark,能在所用电脑上进行抓包 2.了解IP数据包格式,能应用该软件分析数据包格式 3.查看
一个
抓到的包的内容,并分析对应的IP数据包格式 二.实验内容 1.安装Wireshark,简单描述安装步骤。 安装过程:点击安装图标 接着出现如图所示: 点击next后按如下步骤: 在"License Agreement"窗口下点击'I Agree',弹出"Choose Components"窗口,点'next' 后弹出"Select Additional Tasks"窗口,点'next'又弹出"Choose Install Location"窗口后再点'next',弹出"Install Winpcap"窗口(选'Install Winpcap4.12')点击'Install',接着弹出"Installing"窗口(在运行时弹出"Winpcap4 .12 Set up"窗口,点击'确定',且在接下来弹出的窗口下按如下步骤点击:next—next—I Agree—Install—finsh),接着点击'next'弹出如下窗口: 并选择'Run Wireshork1.6.3(32bit)'并点击'Finsh': 2.打开wireshark,选择接口选项列表。或单击"Capture",配置"option"选项。 3.设置完成后,点击"start"开始抓包. 显示结果: 4.选择某一行抓包结果,双击查看此数据包具体结构如下: 三.捕捉IP数据包。 数据包信息: 1. 写出IP数据包的格式如下: 2. 将捕捉的IP数据包的分析得出格式图例如下: 3. 针对每
一个
域所代表的含义进行解释。 IP数据报首部各部分含义: 版本
占
4
位
,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的 IP协议版本号为4(即IPv4)。 首部长度
占
4
位
,可表示的最大十进制数值是15。请注意,这个字段所表示数的单
位
是 32
位
字长(1个32
位
字长是4
字节
),因此,当IP的首部长度为1111时(即十进制的15) ,首部长度就达到60
字节
。当IP分组的首部长度不是4
字节
的整数倍时,必须利用最后的 填充字段加以填充。因此数据部分永远在4
字节
的整数倍开始,这样在实现IP协议时较为 方便。首部长度限制为60
字节
的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部 区分服务
占
8
位
,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上 一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。 总长度 总长度指首部和数据之和的长度,单
位为
字节
。总长度字段为16
位
,因此数据 报的最大长度为216- 1=65535
字节
。长度就是20
字节
(即首部长度为0101),这时不使用任何选项。 标识(identification)
占
16
位
。IP软件在存储器中维持
一个
计数器,每产生
一个
数据 报,计数器就加1,并将此值赋给标识字段。但这个"标识"并不是序号,因为IP是无连接 服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时, 这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片 后的各数据报片最后能正确地重装成为原来的数据报。 标志(flag)
占
3
位
,但目前只有2
位
有意义。标志字段中的最低
位
记为MF(More Fragment)。MF=1即表示后面"还有分片"的数据报。MF=0表示这已是若干数据报片中的最 后
一个
。标志字段中间的一
位
记为DF(Don't Fragment),意思是"不能分片"。只有当DF=0时才允许分片。 片偏移
占
13
位
。片偏移指出:较长的分组在分片后,某片在原分组中的相对
位
置。也 就是说,相对用户数据字段的起点,该片从何处开始。片偏移以8个
字节
为偏移单
位
。这 就是说,每个分片的长度一定是8
字节
(64
位
)的整数倍。 生存时间
占
8
位
,生存时间字段常用的的英文缩写是TTL(Time To Live),表明是数据报在网络中的寿命。由发出数据报的源点设置这个字段。其目的是防 止无法交付的数据报无限制地在因特网中兜圈子,因而白白消耗网络资源。最初的设计 是以秒作为TTL的单
位
。每经过
一个
路由器时,就把TTL减去数据报在路由器消耗掉的一
Java, AndroidStudio, eclipse...
功能介绍:
可以将 Float、 Double、 与byte[]之间进行互换,从而可以在Java 的开发环境中实现C语言的Union 的功能!
* 对数字和
字节
进行转换。<br>
* 基础知识:<br>
* 假设数据存储是以大端模式存储的:<br>
* byte:
字节
类型
占
8
位
二进制 00000000<br>
* char: 字符类型
占
2个
字节
16
位
二进制 byte[0] byte[1]<br>
* int : 整数类型
占
4个
字节
32
位
二进制 byte[0] byte[1] byte[2] byte[3]<br>
* long: 长整数类型
占
8个
字节
64
位
二进制 byte[0] byte[1] byte[2] byte[3] byte[4] byte[5]
* byte[6] byte[7]<br>
* float: 浮点数(小数)
占
4个
字节
32
位
二进制 byte[0] byte[1] byte[2] byte[3]<br>
* double: 双精度浮点数(小数)
占
8个
字节
64
位
二进制 byte[0] byte[1] byte[2] byte[3] byte[4]
* byte[5] byte[6] byte[7]<br>
第一部分 理论练习题 计算机基础知识 一、填空题 1.目前普遍使用的微型计算机属于第代计算机,其元件采用了电路技术。 2.计算机系统包括系统及系统。 3.通常可把软件分成两大类,即和。 4.CPU是指,CAD是指。 5.
一个
半角字符在存储器中
占
个
字节
,
一个
汉字在存储器中
占
个
字节
。 6.计算机中的运算器,具有运算和运算的能力。 7.根据存储器的功能或工作方式,可分为和两大部分。 8.按存储器是否直接与CPU交换信息,可分为和两类。 9.单X光盘盘片的存储容量可达,它的速度用倍速来表示,
一个
倍速可达。 10.计算机必备的输入设备是,输出设备是。 11.显示器的刷新频率是指,显示器的分辨率是指。 12.现代微机设备对电网电压的允许X围应在之间,还必须保持相对稳定,温度应保 持在之间。 13.计算机病毒是指,事实上是一种衍化形式。 14.在计算机内部,数字、字符、各种文字等信息用表示,人们通常所说的32或64
位
的计算机是指计算机的。 15.存储器读写实现了随机操作是指,静态随机存取存储器(SRAM)主要用于。 16.编译程序把高级语言程序编译成程序。 17.NULL字符可用于标志的结束,其ASCII码值为。 18.ASCII码字符采用二进制编码,共有字符。 19.在ASCII编码字符中,控制字符有个,图形字符(包括常用符号、英文字母、数 字符等)有个。 20. 硬盘转速是衡量硬盘性能的
一个
重要技术指标,目前常见的硬盘转速多为___________ __,____________。 二、单项选择题 1.微型计算机中运算器、控制器和内存储器总称为。 A.MPU B.CPU C.主机 D.ALU 2.电子计算机之所以能够实现自动连续运算,是由于采用了原理。 A.布尔逻辑 B.存储程序 C.数字电路 D.集成电路 3.计算机中用于存储和传输信息的最小单
位
是。 A.字 B.
字节
C.二进制
位
D.ASCII字符 4.计算机中,中央处理器是由组成的。 A.控制器和主存储器 B.CPU与输入输出接口 C.控制器、运算器和寄存器组 D.主机与外设 5.扫描仪属于设备。 A.输入 B.输出 C.存储 D.输入/输出 6.为提高显示器清晰度,应选择较高的显示器。 A.外观美观 B.对比度 C.分辨率 D.亮度 7.下列内、外存储器中,存取速度快慢顺序正确的是。 A.光盘 内存 硬盘 软盘 B.内存 硬盘 光盘 软盘 C.内存 光盘 硬盘 软盘 D.光盘 内存 软盘 硬盘 8.计算机病毒主要靠传染 A.主存 B.软盘媒介 C.硬盘媒介 D.操作系统 9.通常1B是指。 A.8个二进制
位
B.16个二进制
位
C.1024个
字节
D.4个二进制
位
10.某工厂使用计算机控制生产过程,这是计算机在方面的应用。 A.科学计算 B.过程控制 C.信息处理 D.智能模拟 11.在计算机运行中突然断电,中的信息将会丢失。 A.ROM B.RAM C.CD-ROM D.磁盘 12.把软盘设置为写保护状态后,。 A.只能向其中写入信息 B.只能读出其中的信息 C.不能读取其中的信息 D.可以读取其中的信息并写入信息 13.下面的说法中,正确的是。 A.程序在软盘上就可以运行 B.任何程序都可以在WIN98上直接运行 C.程序在硬盘上就可以运行 D.任何程序必须进入内存才能运行 14.计算机病毒感染的原因是。 A.因操作不当感染 B.与外界交换信息时感染 C.在增添硬件设备时感染 D.因硬件损坏而被感染 15.对常见的3英寸和5英寸高密度和低密度软磁盘,它们有
一个
参数是相同的,这就 是。 A.每面的磁道数 B.每个磁道的扇区数 C.每个扇区的
字节
数 D.每个磁道的
字节
数 16.软盘上的0磁道
位
于。 A.最外圈 B.中间圈 C.最内圈 D.不一定 17.高级语言编写的源程序要转换成计算机能直接执行的目标程序,必须经过。 A.汇编 B.解释或编译 C.编译 D.操作系统编译 18.在同等情况下,计算机执行,速度最快。 A.高级语言程序 B.机器语言程序 C.汇编语言程序 D.源程序 19. 在存贮容量的单
位
换算中,1K表示的量值为_______。 A. 1056 B. 1000 C. 1024 D.10000 20. USB2.0接口(通用串行接口)的传输速率一般是_______。 A. 120Mb/s B. 250Mb/s C. 800Mb/s D. 480Mb/s 三、判断题 1.计算机系统是由中央处理器、存储器和输入输出设备组成。 ( ) 2.机箱中的设备是主机,机箱外的设备是外设。 ( ) 3.机房温度太高会产生雾化,腐蚀元件,甚至发生短路,而温度太低会产生静电, 也对计算机不利。 ( ) 4.计算机病毒只破坏盘上的数据,不会造成整个系统的瘫痪。 ( ) 5.键盘与主机
计数到F后,再增加1个,就进
位
。
十六进制数的基数是16,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A-F分别表示十进制数字10-15.十六进制数的技术规则是“逢十六进一”,通常,对十六进制数的表示,可以在数字的右下角标注16或H,但在C语言中是在数的前面加数字0和字母X即0X来表示。例如,12AF在C语言中表示为0X12AF
二进制数到十六进制数
位
(Bit):计算机最小单
位
,一
位
可以代表0,也可以代表1。
字节
(Byte):1个
字节
=8bit。可以表示的数自然是 0000 0000 -- 1111 1111,0-255。
二进制:即
位
的表现方式,0或1。
那么
16进制
占
几
位
、多少
字节
呢?
二进制 1111 = 15,
16进制
的F = 15,所以
一个
16进制
位
占
4
位
, 1byte = 8 bit, 所以 1个
字节
可以代表2 个
16进制
位
,1 个
16进制
位
0.5 个
字节
。
private static final char[] HEX_CHAR = {'0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
方式1:应该比较好理解
public static String bytesToHex(byte[]...
1个
字节
是8
位
,二进制8
位
:xxxxxxxx 范围从00000000-11111111,表示0到255。一
位
16进制
数(用二进制表示是xxxx)最多只表示到15(即对应
16进制
的F),要表示到255,就还需要第二
位
。所以1个
字节
=2个
16进制
字符,
一个
16进制
位
=0.5个
字节
。
参考文章:
一个
16进制
的数
占
多少
字节
?比如19
# 生成 16 进制数
def generate_hex(length):
return ''.join(random.choice('0123456789abcdef') for _ in range(length))
# 写入文件
def write_hex_file(filename, hex_str):
with open(filename, 'w') as f:
for i in range(0, len(hex_str), 16):
f.write(hex_str[i:i+16] + '\n')
if __name__ == '__main__':
# 生成 2048 个
字节
的 16 进制数
hex_str = generate_hex(2048 * 2) #
一个
16 进制数
占
2 个
字节
# 写入文件
write_hex_file('output.hex', hex_str)
这个脚本中,`generate_hex` 函数用于生成指定长度的随机 16 进制数,`write_hex_file` 函数用于将生成的 16 进制数写入文件中,并且每 8 个
字节
自动换行。在主函数中,我们先调用 `generate_hex` 函数生成 2048 个
字节
的 16 进制数,然后调用 `write_hex_file` 函数将其写入文件中。你可以根据需要修改文件名和参数。