社区
网络及通讯开发
帖子详情
按位存放问题.
wu__123
2010-01-25 09:45:23
我要构造一个特定的消息,就是要在指定的位置放规定好的类型值,,想问下大家除了用memcpy 外还有什么其它更好的方法没?
就比如要 构造一个下面的消息格式:
16 bits String 16 bits String 16 bits
...全文
129
16
打赏
收藏
按位存放问题.
我要构造一个特定的消息,就是要在指定的位置放规定好的类型值,,想问下大家除了用memcpy 外还有什么其它更好的方法没? 就比如要 构造一个下面的消息格式: 16 bits String 16 bits String 16 bits
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wu__123
2010-01-25
打赏
举报
回复
[Quote=引用 10 楼 zhouzhangkui 的回复:]
引用 9 楼 lhylhy 的回复:
引用 5 楼 wu__123 的回复:
引用 3 楼 zhouzhangkui 的回复:
既然你的格式已經定下來了,又有固定的大小
就可以直接用數組Byte by[XXX] 直接賦值操作
字符串怎么可能有固定大小呢.. - -!!
那你怎么解码?怎么知道字符串是否结束?
按他字面的意思
这三个16 bits 应该是他的效验符
作为解码标志的
[/Quote]
它不是字符串的检验符,就是一些字符串信息,,我也在想怎么把这个字符串解析出来呢.
周药师
2010-01-25
打赏
举报
回复
[Quote=引用 9 楼 lhylhy 的回复:]
引用 5 楼 wu__123 的回复:
引用 3 楼 zhouzhangkui 的回复:
既然你的格式已經定下來了,又有固定的大小
就可以直接用數組Byte by[XXX] 直接賦值操作
字符串怎么可能有固定大小呢.. - -!!
那你怎么解码?怎么知道字符串是否结束?
[/Quote]
按他字面的意思
这三个16 bits 应该是他的效验符
作为解码标志的
lhy
2010-01-25
打赏
举报
回复
[Quote=引用 5 楼 wu__123 的回复:]
引用 3 楼 zhouzhangkui 的回复:
既然你的格式已經定下來了,又有固定的大小
就可以直接用數組Byte by[XXX] 直接賦值操作
字符串怎么可能有固定大小呢.. - -!!
[/Quote]
那你怎么解码?怎么知道字符串是否结束?
周药师
2010-01-25
打赏
举报
回复
[Quote=引用 7 楼 wu__123 的回复:]
引用 6 楼 zhouzhangkui 的回复:
格式一定
管他大小 按照你的格式直接賦值進去
你说的就是memcpy啦.
[/Quote]
memcpy ?
方法多的是,
幾個String 直接加不行嗎?
wu__123
2010-01-25
打赏
举报
回复
[Quote=引用 6 楼 zhouzhangkui 的回复:]
格式一定
管他大小 按照你的格式直接賦值進去
[/Quote]
你说的就是memcpy啦.
周药师
2010-01-25
打赏
举报
回复
格式一定
管他大小 按照你的格式直接賦值進去
wu__123
2010-01-25
打赏
举报
回复
[Quote=引用 3 楼 zhouzhangkui 的回复:]
既然你的格式已經定下來了,又有固定的大小
就可以直接用數組Byte by[XXX] 直接賦值操作
[/Quote]
字符串怎么可能有固定大小呢.. - -!!
周药师
2010-01-25
打赏
举报
回复
或者用
list <BYTE> By;
或者vector 都可以
周药师
2010-01-25
打赏
举报
回复
既然你的格式已經定下來了,又有固定的大小
就可以直接用數組Byte by[XXX] 直接賦值操作
wu__123
2010-01-25
打赏
举报
回复
[Quote=引用 1 楼 lhylhy 的回复:]
固定长度的搁在前面,字符串搁后面。
[/Quote]
消息格式是这样定的,不能改的,还是我没听明白你的意思?请说具体点
lhy
2010-01-25
打赏
举报
回复
固定长度的搁在前面,字符串搁后面。
周药师
2010-01-25
打赏
举报
回复
办法要你自己想的
这个看你怎么定,你可以订的复杂点
16 bits String1 +String2+String3 16 bits String4+String5+String6 16 bits String7+String8+String9
多做几个如:
条件一: 第三个byte 开始是String1
条件二: String1 String3 String4 String6 String7 String9 (6个同时存在)
条件三...
....
wu__123
2010-01-25
打赏
举报
回复
[Quote=引用 14 楼 zhouzhangkui 的回复:]
引用 13 楼 wu__123 的回复:
引用 12 楼 zhouzhangkui 的回复:
“我也在想怎么把这个字符串解析出来呢.”
既然考虑这问题
不如像我说的
做几个标志符,作为解码的标志
我发的是一个标准的协议,所以这消息格式是不能自己改的
不是叫你改格式
是叫你把里面的某些字符串 作为固定的常量来作为标识符
例如:
16 bits String1 +String2 16 bits String3+String4 16 bits String5+String6
把你的String 分解出来 把String1,String3,String5 作为标识符
[/Quote]
万一你那个标识符也在那个字符串中存在怎么办? 这机率是很小,但也存在,只能用'\0'来判断吧
周药师
2010-01-25
打赏
举报
回复
[Quote=引用 13 楼 wu__123 的回复:]
引用 12 楼 zhouzhangkui 的回复:
“我也在想怎么把这个字符串解析出来呢.”
既然考虑这问题
不如像我说的
做几个标志符,作为解码的标志
我发的是一个标准的协议,所以这消息格式是不能自己改的
[/Quote]
不是叫你改格式
是叫你把里面的某些字符串 作为固定的常量来作为标识符
例如:
16 bits String1 +String2 16 bits String3+String4 16 bits String5+String6
把你的String 分解出来 把String1,String3,String5 作为标识符
wu__123
2010-01-25
打赏
举报
回复
[Quote=引用 12 楼 zhouzhangkui 的回复:]
“我也在想怎么把这个字符串解析出来呢.”
既然考虑这问题
不如像我说的
做几个标志符,作为解码的标志
[/Quote]
我发的是一个标准的协议,所以这消息格式是不能自己改的
周药师
2010-01-25
打赏
举报
回复
“我也在想怎么把这个字符串解析出来呢.”
既然考虑这问题
不如像我说的
做几个标志符,作为解码的标志
例1:某计算机的主存地址位数为32位,按字节编址。假定数据Cache中最多
存放
128个主存块,采用四路组相联映射方式,块大小为64B,每块设置了一位有效位。采用一次性写回策略,为每块设置1位“脏”位。
假定数据Cache中最多
存放
128个主存块,采用四路组相联映射方式,块大小为64B,每块设置了一位有效位。Cache中有128个主存块,四路组相联映射,即每个Cache组内有4个Cache块,(2)标记项的总位数 = 128 * (21 + 1 + 1)= 128 * 23 = 2944 位。(1)指出主存地址中标记(Tag)、组号(Index)和块内地址(Offset)三部分的位置和位数。按字节编址,块大小为64B = 2^6B,块内地址字段占6位。解:主存地址位数为32位,一共32位,
位域 内存 字节序_详解数据在内存中的真实
存放
次序:位序、字节序、大/小端模式与结构体、位域...
计算机学科中的很多
问题
,都是因为概念的抽象模糊,导致理解上的不确定性,增加学习领悟的难度。对于计算机中数据
存放
次序的
问题
,很多教材或文章要么含糊其辞,要么凭空飞来结论,让人看的一头雾水。几经周折,结合多篇文章,对内存中数据
存放
次序终于有了较深入的理解,现记录如下:一、几个概念:1.内存中关于数据的
存放
顺序有三个层次(即三种不同的视角):1.位序(以一位即bit为单位)-------字节内的bit位...
python输入一个三位数输出百位十位个位_python输入一个水仙花数(三位数) 输出百位十位个位实例...
我就废话不多说了,大家还是直接看代码吧!# python输入一个水仙花数(三位数) 输出百位十位个位"""从控制台输入一个三位数num,如果是水仙花数就打印num是水仙花数,否则打印num不是水仙花数""""""任务:1、定义变量num用于
存放
用户输入的数值2、定义变量gw、sw、bw分别用于
存放
输入的三位数的个位,十位,百位3、定义变量total,用于
存放
各位数字立方和4、用if语句判断各位数字...
建立一个文本文件in.txt,在其中输入若干个正整数,中间用空格分隔,然后保存起来;在窗体上添加一个命令按钮和一个标签框,当单击命令按钮时将in.txt文件中
存放
的所有的能被3整除的数的和显示在标签框
建立一个文本文件in.txt,在其中输入若干个正整数,中间用空格分隔,然后保存起来;在窗体上添加一个命令按钮和一个标签框,当单击命令按钮时将in.txt文件中
存放
的所有的能被3整除的数的和显示在标签框中,并把这个和
存放
到C盘根目录下的out.dat文件中。 Dim 文件路径 As String = System.Environment.CurrentDirectory
位运算符:
按位
与(&),
按位
或(|),
按位
异或(^),取反(~)左移(<<)和右移(>>)
数据在内存中是以二进制的形式
存放
的,计算机存储数据的最小单位是位(bit),一个二进制位可以表示两种状态(0和1),一个字节通常由8位二进制位组成。C语言支持
按位
运算,
按位
运算也就是对字节或者字中的实际位进行操做。 C语言的位运算符包括: 运算符 含义 &am...
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章