社区
语言基础/算法/系统设计
帖子详情
如何交换word型的高位字节与低位字节的值,急在线等!
ksycsdn
2004-12-04 02:18:32
如何交换word型的高位字节与低位字节的值
...全文
2323
15
打赏
收藏
如何交换word型的高位字节与低位字节的值,急在线等!
如何交换word型的高位字节与低位字节的值
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zzlingaaa
2004-12-04
打赏
举报
回复
这样行不?
function Change16Bit(Value: Word): Word;
var
Low8, High8: Word;
begin
Low8 := Value and $00FF;
High8 := Value and $FF00;
Low8 := Value shl 8;
High8 := Value shr 8;
Result := Low8 or High8;
end;
ehom
2004-12-04
打赏
举报
回复
overload多余
ehom
2004-12-04
打赏
举报
回复
Longword:
function SwapLong(Value: Cardinal): Cardinal; overload;
asm
BSWAP EAX
end;
ehom
2004-12-04
打赏
举报
回复
Swap
Maple119
2004-12-04
打赏
举报
回复
加QQ:119559997
Maple119
2004-12-04
打赏
举报
回复
长整数由四个8个字节组成,你想如何换就如何换了。
反过来的函数
Function mlBinToInt(InBin : pChar): Integer;
asm
MOV EAX, [EAX]
end;
ksycsdn
2004-12-04
打赏
举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
i32a,i32:longword;
begin
i32:=1;
(pchar(i32a))[1]:=(pchar(i32))[4];
(pchar(i32a))[2]:=(pchar(i32))[3];
(pchar(i32a))[3]:=(pchar(i32))[2];
(pchar(i32a))[4]:=(pchar(i32))[1];
showmessage(inttostr(i32a));
end;
为什么这样不可以倒过字节?
Maple119
2004-12-04
打赏
举报
回复
Type
TChar4 = Array[0..3] OF Char;
function mlIntToBin(IntValue: Integer; OutBin: pChar): pChar;
asm
XCHG EAX, EDX
MOV [EAX], EDX
end;
{
var
IntBin : TChar4
begin
mlIntToBin(6, IntBin)
end
}
Maple119
2004-12-04
打赏
举报
回复
用D也可以的。但一时忘记取值方法了。
ksycsdn
2004-12-04
打赏
举报
回复
不是了,是把全部的longword字节倒过来:)
好久不动汇编,不知道字节顺序的原理,所以想用不用汇编的办法,呵
Maple119
2004-12-04
打赏
举报
回复
我晕哟。如此精解的代码都嫌麻烦呀?
你是说 longword 的高低 16位对调吗?
ksycsdn
2004-12-04
打赏
举报
回复
这点活用C就简单了,用DELPHI 真苦
ksycsdn
2004-12-04
打赏
举报
回复
牛!
可,有没有不用汇编的办法?
我还想换longword的字节顺序倒过来
Maple119
2004-12-04
打赏
举报
回复
function High_Switch_Low8(Value: Word): Word;
asm
XCHG AH, AL
end;
Maple119
2004-12-04
打赏
举报
回复
仅将高低八位调换?
SpringBoot2整合Vue3+ArcoDesign
字节
跳动Vue
课程简介:该互联网实战项目是基于腾讯开源Tdesign产品框架,前后端分离,开发项目实战,SpringBoot+SpringSecurity+Mybatisplus+MySQL+Knife4j中后台项目产品实战,包括图形展示、权限管理、用户管理等功能。【后端】Spring Boot2 框架 开发的一站式解决方案Spring Security5 认证和授权框架MyBatisPlus3.3.1 基于 MyBatis 框架的快速研发框架MyBatisCode工具生成 MyBatis 相关代码Jackson提供了处理 JSON 数据的工具Lombok简化对象封装工具 Druid 数据库连接池 【前端技术】Vue3 互联网最火的前端框架Vue Router路由框架Vuex全局状态管理框架Axios前端 HTTP 框架Arco Design
字节
跳动前端模板 ArcoDesign 主要服务于
字节
跳动旗下中后台产品的体验设计和技术实现,主要由UED设计和开发同学共同构建及维护。Arco Design 是一套企业级 UI 解决方案,拥有系统的设计规范和资源,依据此规范提供了覆盖 React、Vue、Mobile 的原子组件。ArcoDesign 提供的能力完善的基础组件基于 Arco Design 设计规范,Arco 提供了 67 个基础组件。同时,Arco 在这些基础组件的设计上,也开放了细粒度的配置,方便后续拓展。
获取
WORD
的
高位
字节
和
低位
字节
在WinDef.h中有这样两组宏定义: #define LOBYTE(w) ((BYTE)(((D
WORD
_PTR)(w)) & 0xff)) #define HIBYTE(w) ((BYTE)((((D
WORD
_PTR)(w)) >> 8) & 0xff)) LOBYTE(w)的作用是,获取
WORD
的
低位
字节
;HIBYTE(w)的作用,获取
WORD
...
大小端、高低
字节
1.大小端 大端:
高位
字节
存放在
低位
地址,
低位
字节
存放在
高位
地址 小端:
高位
字节
存放在
高位
地址,
低位
字节
存放在
低位
地址 2.高
低位
字节
在理解有效位这个概念时,可以想象一下你的支票数额的第一位增加1和最后一位增加1之间的巨大区别,前者肯定会让你喜出望外。
高位
字节
低位
字节
↓--------------------------↓ ↓---------------------------↓ 1514...
一个字的
高位
和
低位
字节
的获取
问题 如何用宏定义得到一个字的
高位
和
低位
字节
代码#define
WORD
_LD(xxx) ((byte) ((
word
)(xxx) & 255)) #define
WORD
_HI(xxx) ((byte) ((
word
)(xxx)>>>8))一个字由两个
字节
组成。
WORD
_LD(xxx)取参数xxx的低8位,
WORD
_LD(xxx)取参数xxx的高8位。
用宏定义得到一个数的
高位
和
低位
字节
#define
WORD
_LOW(a) (( a & 255)) #define
WORD
_HIGH(a) (a>>8) //一个字由两个
字节
组成,因此
WORD
_LOW取参数xxx的低8位,
WORD
_HIGH取参数的高8位 #include<iostream> using namespace std; int main() { int a = 62597; //1111 0100 1000 0101 cout <<
WORD
_HIGH(a)<&.
语言基础/算法/系统设计
16,748
社区成员
33,246
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章