PB实现进制转换

STM32驱动SSD1306 OLED显示原理与实战 OLED(有机发光二极管)是一种基于自发光原理的主动式显示技术,区别于依赖背光的LCD,具备高对比度、宽视角、毫秒级响应和内容相关功耗等核心优势。其显示控制本质是通过驱动芯片(如SSD1306)对页式显存(128×64位)进行按字节寻址与位映射操作,每个字节的8位分别对应一列中8个垂直像素的亮灭状态。在嵌入式系统中,尤其面向STM32等MCU平台,OLED常通过I²C或SPI接口通信,需精准配置寄存器(如Charge Pump使能、页地址模式)、构建显存缓冲区并实现字符/数值的坐标化渲染。本文围绕SSD13 阅读详情

二进制

8位二进制转byte

在这里插入图片描述

二进制转十进制数

在这里插入图片描述

二进制转十六进制

在这里插入图片描述

byte

byte转8位二进制

在这里插入图片描述

byte转2位十六进制

在这里插入图片描述

十进制数

十进制转二进制

在这里插入图片描述

十进制转十六进制

在这里插入图片描述

十六进制

十六进制转二进制

在这里插入图片描述

2位十六进制转byte

在这里插入图片描述

十六进制转十进制

在这里插入图片描述

源代码

发现BUG请留言或私信,以便修正(QQ:768310524 TEL:18649713925)
代码拷贝到文本编辑器,另存为 n_func_radix.sru

$PBExportHeader$n_func_radix.sru
forward
global type n_func_radix from nonvisualobject
end type
end forward

global type n_func_radix from nonvisualobject autoinstantiate
end type

type variables
private:
	char 	HEXDIGIT[] = "0123456789ABCDEF"
	string BINSTR[] = {'0000','0001','0010','0011','0100','0101','0110','0111','1000','1001','1010','1011','1100','1101','1110','1111'}
end variables
forward prototypes
public function unsignedlong bin2dec (string bin)
public function string dec2bin (unsignedlong num)
public function string dec2hex (unsignedlong num)
public function unsignedlong hex2dec (string hex)
public function string bin2hex (string bin)
public function string hex2bin (string hex)
public function string byte2bin (byte b)
public function string byte2hex (byte b)
public function byte hex2byte (string hex)
public function byte bin2byte (string bin)
end prototypes

public function unsignedlong bin2dec (string bin);char binchar[]
long i,ll,result
string bindigitstr

bindigitstr = "01"
binchar = bin
ll = upperbound(binchar)
for i = 1 to ll
	result *= 2
	if binchar[i] = '1' then result ++
next

return result
end function

public function string dec2bin (unsignedlong num);byte r
string bin

do while num > 0
	r = mod(num,2)
	num /= 2
	if r = 1 then
		bin = '1' + bin
	else
		bin = '0' + bin
	end if
loop

return bin


end function

public function string dec2hex (unsignedlong num);byte r
string hex

do while num > 15
	r = mod(num,16)
	num /= 16
	hex = HEXDIGIT[r + 1] + hex
loop

hex = HEXDIGIT[num + 1] + hex
return hex
end function

public function unsignedlong hex2dec (string hex);char hexchar[]
long i,ll,result
string hexdigitstr

hexdigitstr = HEXDIGIT
hexchar = hex
ll = upperbound(hexchar)
for i = 1 to ll
	result *= 16
	result += pos(hexdigitstr,hexchar[i]) - 1
next

return result
end function

public function string bin2hex (string bin);int p
char hex[],binchar[]
long i,k,ll
byte temp

p = mod(len(bin) , 4)
if p <> 0 then p = 4 - p
bin = fill("0",p) + bin

binchar = bin
ll = upperbound(binchar) / 4
for i = 1 to ll
	temp = 1
	k ++
	if binchar[k] = '1' then temp += 8
	k ++
	if binchar[k] = '1' then temp += 4
	k ++
	if binchar[k] = '1' then temp += 2
	k ++
	if binchar[k] = '1' then temp += 1
	hex[i] = HEXDIGIT[temp]
next

return hex
end function

public function string hex2bin (string hex);string hexdigitstr
char bin[],binchar[],hexchar[]
long i,j,ll

hexchar = hex
ll = upperbound(hexchar)
hexdigitstr = HEXDIGIT
for i = 1 to ll
	binchar = BINSTR[pos(hexdigitstr,hexchar[i])]
	j ++
	bin[j] = binchar[1]
	j ++
	bin[j] = binchar[2]
	j ++
	bin[j] = binchar[3]
	j ++
	bin[j] = binchar[4]
next

return bin
end function

public function string byte2bin (byte b);string hex
hex = HEXDIGIT[b / 16 + 1] + HEXDIGIT[mod(b , 16) + 1]
return BINSTR[pos(HEXDIGIT , left(hex , 1))] + BINSTR[pos(HEXDIGIT , right(hex , 1))]
end function

public function string byte2hex (byte b);return HEXDIGIT[b / 16 + 1] + HEXDIGIT[mod(b , 16) + 1]
end function

public function byte hex2byte (string hex);return (pos(HEXDIGIT , left(hex , 1)) - 1) * 16 + pos(HEXDIGIT , right(hex , 1)) - 1
end function

public function byte bin2byte (string bin);char bchar[]
byte b

bchar = bin
if bchar[1] = '1' then b += 128
if bchar[2] = '1' then b += 64
if bchar[3] = '1' then b += 32
if bchar[4] = '1' then b += 16
if bchar[5] = '1' then b += 8
if bchar[6] = '1' then b += 4
if bchar[7] = '1' then b += 2
if bchar[8] = '1' then b += 1

return b
end function

on n_func_radix.create
call super::create
TriggerEvent( this, "constructor" )
end on

on n_func_radix.destroy
TriggerEvent( this, "destructor" )
call super::destroy
end on


IP详解+进制转换 第三章、IP地址详解 一、简单局域网的构成 局域网:一般称为内网 简单局域网的构成:交换机、网线、PC 交换机:用来组建内网的局域网的设备 二、IP地址 IP地址就是一个唯一标识,是–段网络编码(二进制,下章学习),由32位组成 IP地址形式: X.X.X.X X的范围: 0-255 如: 正确: 10.1.1.1, 电 192.168.1.1 错误: 300.1.1.1 三、子网掩码 局域网通信规则:在同一个局域网中,所有的IP必须在同- -网段中才可以互相通信 IP地址构成:网络位+主机位( 网络位相同 阅读详情

相关推荐

PB进制转换工具详解:从二进制到十六进制的快速转换

进制系统是计算机科学的基础,它是数字表示和运算的一种方法。了解不同进制系统对于数据表示、存储和处理至关重要。进制是指一个数系统中使用的数字符号的个数,以及这些数字符号如何构成更大数值的方式。比如,在十进制中,我们使用0-9这十个数字,并且每个数位达到基数(本例中为10)时,就会进位。PB进制转换工具的设计旨在为计算机科学专业人员提供一个可靠、高效且易于使用的进制转换解决方案。工具的设计理念基于简洁性、功能性和性能优化,确保即使是最复杂的转换需求也能得到快速和准确的响应。

weixin_42298778的博客 1063

PB个种进制转换函数

//-----------------------------------------------------------------//// 函数名称: uf_Binary2Other// 功能描述: 二进制数转换为其它进制数// 作用范围: Public// 参数说明: as_num:二进制数值//      ai_type:目标进制类型// 返 回 值: 目标进制数值// 使用举例: uf_

FISH的专栏 2617

PB串口通信支持16进制.rar

在前人基础上修改的。PB 11下调整和测试通过的,可以支持16进制和文本的收发。完全正常,用串口监测软件跟踪过的。发送的不能含空格,接收的为了测试我加了空格的。

pb字符串转换为16进制串

<br />//函数功能:取字符串 ls_s 对应的十六进制串<br />string ls_s ="你好"<br />char src[]<br />Integer ln <br />Integer i<br />string st<br />Integer temp<br /

yyoinge的专栏 2615

PB ,PowerBuilder ,Hex blob , 16进制 blob ,互转

1.真实代码,节省你大量时间 2.pb11.2版本 一份劳动一份收获

pb数字进制间相互转化(源码).zip

pb数字进制间相互转化(源码) 1、十六进制转十进制 2、十进制转十六进制 3、二进制转十进制 4、二进制转十六进制 5、十六进制转二进制

pb中的进制转换

 //-----------------------------------------------------------------//// 函数名称: uf_Binary2Other// 功能描述: 二进制数转换为其它进制数// 作用范围: Public// 参数说明: as_num:二进制数值//      ai_type:目标进制类型// 返 回 值: 目标进制数值// 使用举例:

850

腾讯股票接口API(1)——根据股票代码获取详情

获取股票简要信息,找来找去也没有找到官方的文档,都是复制粘贴的,这里先简单记录一下。 1.简要信息 以贵州茅台为例: http://qt.gtimg.cn/q=s_sh600519 // sh600519是贵州茅台的股票代码,根据自己的关键字拼接URL 可以直接在Android项目中请求,会得到如下一串字符串: v_s_sh600519="1~贵州茅台~600519~2075.95~42.95~2.11~38930~794942~~26078.04~GP-A"; 这里v_s代表简要信息,sh600519

GeofferySun的专栏 6万+

PB powerbuilder 进制转换 url 编码 解码 urlencode urldecode 数组排序

关键字: PBpowerbuilder进制转换url编码urlencodeurldecode数组排序环境:PB 12--powerbuilder 12一直想发出来共享一下:自己写的的用户对象,PB直接导入就可以用了,可能有bug,请大家一块学习函数(及参数) 作用decto 将十

xiajinxian的专栏 8747

433M遥控器无线解码1527协议

433M遥控器无线解码1527协议,定时器轮询法

weixin_58595117的博客 1万+

Go语言AI智能体开发实战:基于LangGraphGo构建下一代工作流引擎

在AI应用开发领域,工作流编排是构建复杂智能系统的核心技术。其核心原理是将任务执行过程建模为状态图,通过节点和边的组合定义数据流转路径,实现多步骤推理与工具调用的自动化。这种基于状态图的编程模型,为智能体提供了清晰的“思考-行动-观察”循环抽象,显著提升了复杂业务逻辑的可维护性和可观测性。从技术价值看,它解决了传统代码中状态分散、流程僵化的问题,支持条件分支、并行执行等高级模式,是实现生产级AI应用的关键基础设施。在应用场景上,该技术广泛适用于客服机器人、自动化审批、数据ETL等需要多步骤协调的领域。本文以

weixin_30457551的博客 361

各进制转换

各进制转换bit(位)bytes(字节)M、G、TB、PB 1Byte = 8 Bit 1KB = 1,024 Bytes 1MB = 1,024 KB = 1,048,576 Bytes 1GB = 1,024 MB = 1,048,576 KB = 1,073,741,824 Bytes 1GB = 1,024 MB = 1,048,576 KB = 1,073,741,824 Bytes 1...

hahaEverybody的博客 351

实战对比:VINS和ORBSLAM3在无人机避障中的表现(含实测数据)

本文通过实战测试,深度对比了VINS和ORBSLAM3两种主流视觉SLAM算法在无人机避障中的表现。测试聚焦于光照变化、动态遮挡和快速运动三大挑战,提供了详细的实测数据与性能分析。结果表明,VINS在计算效率和实时性上占优,而ORBSLAM3在定位精度和地图管理方面更稳健,为不同应用场景下的工程选型提供了清晰依据。

醉三国 627

python中的进制转换和原码,反码,补码

十六进制:有16个数字组成,有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f(进制字母大小写都可以,分别代表10,11,12,13,14,15) python中标志:0x。运算:1* 2^0 + 0* 2^1 + 1* 2^2 + 0* 2^3 + 0* 2^4 + 1* 2^5 + 0* 2^6 + 1* 2^7=十进制:有10个数字组成,有0,1,2,3,4,5,6,7,8,9 python中标志:无。八进制:由8个数字组成,有0,1,2,3,4,5,6,7 python中标志:0o。

hakesashou的博客 1486

阿里云大模型ACP认证模拟考试(一)

摘要:在阿里云大模型高级工程师 ACP 认证暂无真题题库的现状下,模拟题具有重要意义。其依照真实考试设计,涵盖题型、题量与分值分布,助力考生熟悉考试框架,合理分配答题时间精力,提升效率。同时,模拟题紧扣官方课程,能帮助考生精准定位知识盲点,如大模型架构原理和通义千问应用实践等重点内容,以便针对性完善知识体系。此外,通过练习模拟题,考生可掌握不同题型的解题思维与技巧,快速洞察复杂题目本质,提高答题准确率。

davidkorhenn的博客 4742

避坑指南:STM32CubeMX配置USB虚拟串口时Heap Size设置的那些坑

本文深入剖析了使用STM32CubeMX配置USB虚拟串口时,因Heap Size设置不当导致设备无法识别的常见问题。文章从故障现象出发,详细解释了堆内存不足如何影响USB枚举过程,并提供了从内存布局分析、动态监控到系统化调试的完整解决方案,帮助开发者从根本上避免这一配置陷阱。

ttt77的博客 599

bit(位)bytes(字节)M、G、TB、PB进制转换

1Byte = 8 Bit1KB = 1,024 Bytes1MB = 1,024 KB = 1,048,576 Bytes1GB = 1,024 MB = 1,048,576 KB = 1,073,741,824 Bytes1TB = 1,024 GB = 1,048,576 MB = 1,099,511,627,776 Bytes1PB = 1,024 TB = 1,048,576 GB =1,125,899,906,842,624 Bytes1EB = 1,024 PB =

smk613的博客 3218

【Unity】【2D】用连续图片生成动画Animation的简明步骤

本文介绍了Unity中使用2D连续图片制作2D动画Animation的简明步骤。

O青草O的博客 Unity和游戏制作知识分享 718

PB处理BLOB类型的方法

文章目录转换BLOBBLOB转为Byte字节流BLOB转为Char字节流BLOB转为二进制字符BLOB转为十六进制字符生成BLOBByte字节流转为BLOBChar字节流转为BLOB二进制字符转为BLOB十六进制字符转为BLOB源代码 转换BLOB BLOB转为Byte字节流 BLOB转为Char字节流 BLOB转为二进制字符 BLOB转为十六进制字符 生成BLOB Byte字节流转为BL...

JasonFriday的博客 9496

SAP Fiori 会话超时全解析:从 Launchpad 到 Identity Authentication 的统一策略

SAP Fiori会话超时机制解析与配置策略 本文深入探讨SAP Fiori项目中的会话超时机制,分析其对系统安全和用户体验的双重影响。文章系统拆解了SAP Fiori Launchpad与SAP Cloud Identity Services之间的会话超时工作原理,重点介绍了两种超时机制:服务器驱动的超时(通过SESSION_TIMEOUT_STOP_DATA_REFRESH参数控制)和UI驱动的超时(通过SESSION_TIMEOUT_INTERVAL_IN_MINUTES参数控制)。文中结合制造业产线

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 213

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

进制转换与类型在内存中存储方式

以32位浮点数为例,留给M只有23位,将第一位的1舍去以后,等于可以保存24位有效数字。因为数值289介于512和256之间,故其二进制最高位位权为8,此时已知289二进制最高位为1,即100000000,而因为289 - 256 = 33,可得33 = 32 + 1, 将二进制中32对应的位权和1对应的位权填1其余填0即可,即100100001。在内存中,一个内存单元为一个字节大小,超过一个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分为大端字节序存储和小端字节序存储。

小何代码咖啡馆 1618

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IP地址与进制转换

本文主要介绍 IPv4 和进制间的转换,其内容仅供参考。

m_zhuang的博客 2221

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

神奇的进制转换

https://ac.nowcoder.com/acm/contest/910/C 题意:进制转换 总结:从最高位开始模拟除法,直到把原来的数除尽;每次除法剩下的余数就是答案的最低位到最高位的数;就像十进制转二进制一样,一直除,答案就是全部余数倒过来! #include<algorithm> #include<set> #include<queue> ...

newhonor 254

基础之进制转换

进制转换 1.1`计算机的硬件基本认知 cpu: 中央处理器. 相当于人的大脑,运算中心,控制中心 内存: 临时存储数据. 优点: 读取速度快. 缺点: 容量小,断电即消失. 硬盘: 长期数据存储. 优点: 容量大,造价相对便宜,断电不消失, 缺点: 读取速度慢 操作系统: 统一管理计算机硬件资源的程序 1.2计算机文件大小单位 b = bit 位(比特) B = Byte 字节 1Byte = 8 bit #一个字节等于8位,可以简写成1B = 8b 1KB = 1024B 1MB = 1024KB

阡陌淡暖的博客 1539

字节等单位与进制转换

字符与字节 ASCII码:一个英文字母(不分大小写)占一个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数。换算为十进制 ,最小值-128,最大值127。如一个ASCII码就是一个字节。 UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节 Unicode编码:一个英文等于两个字节,一个中文(含繁体)等...

IGGIRing的博客 3793

进制转换bit(位)bytes(字节)M、G、TB、PB

1Byte = 8 Bit 1KB = 1,024 Bytes 1MB = 1,024 KB = 1,048,576 Bytes 1GB = 1,024 MB = 1,048,576 KB = 1,073,741,824 Bytes 1GB = 1,024 MB = 1,048,576 KB = 1,073,741,824 Bytes 1TB = 1,024 GB =...

hai ai的博客 2387
上一篇: PB处理BLOB类型的方法
下一篇: PB实现DES加解密
JasonFriday
博客等级 码龄9年 254粉丝 29原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值