将十进制数(INT)转换为二进制字符串(VARCHAR)

《MySQL实战指南》06-07:字面量 -- 阅读详情
-- 功能: 将十进制数(INT)转换为二进制字符串(VARCHAR)
-- 输入参数: @Dec 待转换的十进制数,正数,  @StrLen 返回的二进制字符串的长度
-- 返回值: 二进制形式表示的字符串
-- 注意: 如果@Dec转换后的实际长度小于@StrLen,则左边补足"0",如果@Dec转换后的实际长度
--       大于@StrLen,则以实际长度返回
-- 作者: cheyo@JMU     telnet://bbs.jmu.edu.cn  http://bbs.jmu.edu.cn  Email:  cheyocn at hotmail.com
-- 日期: 2005-09-29
-- 例子: SELECT 'B' + dbo.Dec2Bin(15, 4) AS '15的二进制表示'
CREATE FUNCTION Dec2Bin(@Dec INT, @StrLen TINYINT)
RETURNS VARCHAR(31) -- INT型,4字节,正数转为二进制字符串最多31位
AS
BEGIN
    DECLARE @BinStr AS VARCHAR(31)      -- 二进制表示的字符串
    DECLARE @Div2 AS INT                -- 商
    DECLARE @Mod2 AS INT                -- 模/余数
    IF @Dec < 0
        RETURN 'NULL'              -- 不支持负数的转换
    SET @Div2 = @Dec / 2 
    SET @Mod2 = @Dec % 2 
    SET @BinStr = ''
    WHILE @Div2 <> 0
    BEGIN
        SET @BinStr = CAST(@Mod2 AS CHAR(1)) + @BinStr
        SET @Dec = @Dec / 2
        SET @Div2 = @Dec / 2
        SET @Mod2 = @Dec % 2
    END
   
    SET @BinStr = CAST(@Mod2 AS CHAR(1)) + @BinStr -- 至此,已完成十进制到二进制的转换
    IF @StrLen > LEN(@BinStr)    -- 如果用户指定的长度大于实际长度,则需要左边补0
        BEGIN
            IF @StrLen > 31    -- 返回的长度,最长为32
                SET @StrLen = 31
   
            DECLARE @ZeroStr VARCHAR(31)    -- 需要补充的"0000..."
            DECLARE @OffsetLen TINYINT       -- 需要补充几个"0"
            SET @ZeroStr = ''
            SET @OffsetLen = @StrLen - LEN(@BinStr)
   
            WHILE  @OffsetLen > 0
            BEGIN
                SET @ZeroStr = @ZeroStr + '0'
                SET @OffsetLen = @OffsetLen - 1
            END
   
            SET @BinStr = @ZeroStr + @BinStr
        END
    RETURN @BinStr
END
GO
从信号到振镜:STM32F103 + XY2-100协议 + AM26LS31芯片的激光打标/雕刻系统信号链搭建指南 本文详细介绍了基于STM32F103微控制器和XY2-100协议的激光打标/雕刻系统信号链搭建方法。从数字振镜控制协议解析、AM26LS31差分驱动电路设计到信号完整性优化,提供了一套完整的解决方案,帮助工程师实现高精度激光控制系统的开发与调试。 阅读详情

相关推荐

宝塔面板一键部署Z-Blog博客 - 内网穿透实现公网访问

Ubuntu系统作为Linux系统的一个重要分支,既有Linux系统的轻量化、高扩展性和长时间稳定运行,也拥有Windows一样的友好图形界面,因此可以作为熟悉服务器系统的良好选择。对于笔者来说,ubuntu系统最大的用处,就是可以让家里老旧的电脑重焕生机,让本已退居二线的电脑与cpolar内网穿透软件搭配,成为私人服务器,搭建自己喜欢的各种网站。今天,笔者就为大家介绍,如何使用cpolar内网穿透+Z-blog搭建私人博客网站。

m0_74808907的博客 3147

十进制与二进制之间转换详解

进制转换 (一)十进制转二进制 (二)十进制转八进制 (一) 十进制转二进制 【基本原理】:除基数倒取余数法。 即:十进制转二进制,基数就是2,用2整除一个十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数;如此进行,直到商为0;然后把先得到的余数作为二进制数的低位有效位,把后得到的余数作为二级制的高位有效位,依次排列起来。所谓有效位,就是不算前导0; 例如:输入十进制整数:14...

专注技术 5万+

publisher与subscriber话题的消息类型md5sum不一致问题

[ERROR] [1604235557.591296096]: Client [/range_vision_fusion_01] wants topic /detection/vision_objects to have datatype/md5sum [autoware_msgs/DetectedObjectArray/13415342e539aa36ea9a6f04ffaf39b4], but our version has [autoware_msgs/DetectedObjectArray/c16a

cxhmike的博客 6620

二进制十进制相互转换方法

十进制转二进制 方法一:除二取余,倒叙排列 将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取将除得的余数,即换算为二进制数的结果 52除以2得到的余数依次为:0、0、1、0、1、1,倒序排列,所以52对应的二进制数就是110100 方法二:水桶法 记住 256 128 64 32 16 8 4 2 1 给出的十进制数依次从

橡皮的博客 6278

win2016 php mysql_Windows Server 2016 IIS10.0+PHP(FastCGI)+MySQL环境搭建教程 | 系统运维...

准备篇一、环境说明:操作系统:Windows Server 2016PHP版本:php 7.1.0MySQL版本:MySQL 5.7.17.0二、相关软件下载:1、PHP下载地址:2、MySQL下载地址:3、Microsoft Visual C++ 2010 可再发行组件包(安装MySQL需要此插件)4、Visual C++ Redistributable for Visual Studio 20...

weixin_34794420的博客 1377

新手必看!BUUCTF-PWN题实战:从零搭建Kali环境到成功RIP栈溢出

本文为CTF二进制安全新手提供了一份详实的BUUCTF-PWN入门指南。内容涵盖从零搭建Kali Linux环境、安装配置pwntools等核心工具,到深入浅出地讲解栈溢出原理与汇编基础,并手把手带领读者完成一道名为“rip”的经典栈溢出题目实战,成功利用漏洞获取系统权限。

t8u9v0w1x的博客 504

二进制(二):十进制转二进制的两种方法

前一篇已经简单介绍了二进制,现在来介绍如何把我们常用的十进制数字转换成二进制。十进制转二进制有两种方法: 一、连除法(把十进制数字除以2,得到商和余数,再把商除2,直到除到0为止,然后按倒序把余数排列就是对应的二进制)。这种方法也是书上或学校里面用的比较多的一个方法,下图就是把557这个十进制转换成二进制(1000101101) 二、分解法(把十进制数字分解成2的N次的数相加,其次将分解成的这些数字对应的二进制直接相加),下图中就是把十进制667这个数字转换成二进制1010011011 可以.

sgbl888的博客 6万+

具身智能:原理、算法与系统 第3章 具身智能的感知-认知-行为框架

具身智能的PCB框架源于对生物智能系统的观察:动物通过感官接收环境信息(感知),基于内部模型进行预测和决策(认知),并通过身体执行动作改变环境(行为),而这一改变又通过感知反馈形成闭环。这一框架在两篇核心文献中得到了深入阐述:提出了系统的数学形式化和工程实现,则从认知科学角度强调了归纳偏置和双过程理论的重要性。

VectorShift的博客 155

10进制数转化成2进制数的四种方法

第一种方法: 第二种方法: 第三种方法: 第四种方法:

黄俊东的专栏 9778

机器人外接 USB 音响完整配置指南

摘要:本文介绍了为机器人配置外接音响的方法。由于内置音响音量小且有散热噪音,建议使用Type-C接口外接音响。配置步骤包括:1)通过aplay -l命令查看音响端口信息;2)使用aplay命令测试音频播放;3)通过amixer命令设置音量。关键点在于正确识别音响的卡号(如card 2)和设备号(如device 0),并在命令中准确配置这些参数即可实现外接音响的正常使用。

m0_47999117的博客 357

2026华为OD机试(C++)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,C++实现。

MISAYAONE的博客 20万+

十进制转化为二进制

进制转换,仅供参考!

m0_64422937的博客 5529

【人工智能之深度学习】23. 推荐系统升级实战:LightGCN重构协同过滤全流程(Amazon-Beauty数据集+完整代码)

摘要:传统协同过滤(如矩阵分解)在电商推荐中存在三大痛点:忽略用户-物品高阶关联、交互数据稀疏导致冷启动、特征工程依赖人工设计。本文基于Amazon-Beauty数据集(含20万+用户交互),用LightGCN图神经网络重构推荐系统:1)构建用户-物品二部图,通过3层图卷积捕捉“用户→物品→用户”的多跳关联;2)采用BPR负采样损失优化嵌入学习,缓解数据稀疏;3)端到端输出用户/物品嵌入,无需人工特征。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1494

将二进制字符串(VARCHAR)转换为十进制数(INT)

-- 功能: 将二进制字符串(VARCHAR)转换为十进制数(INT)-- 输入参数: @StrBin 待转换的二进制字符串-- 返回值: 相应的十进制数,如果二进制数非法,返回-1-- 注意: @StrBin的长度不能大于31-- 作者: cheyo@JMU           Email:  cheyocn at hotmail.com-- 来源: telnet://bbs.jmu.edu.c

1788

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

二进制转十进制的SQL函数

-- 功能: 将二进制字符串(VARCHAR)转换为十进制数(INT)-- 输入参数: @StrBin 待转换的二进制字符串-- 返回值: 相应的十进制数,如果二进制数非法,返回-1-- 注意: @StrBin的长度不能大于31-- 作者: cheyo@JMU Email: cheyocn at hotmail.com-- 来源: telnet://bbs.jmu.

cheyo的专栏 3533

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

昨天写的一个十进制转二进制的SQL函数

-- 功能: 将十进制数(INT)转换为二进制字符串(VARCHAR)-- 输入参数: @Dec 待转换的十进制数,正数, @StrLen 返回的二进制字符串的长度-- 返回值: 二进制形式表示的字符串-- 注意: 如果@Dec转换后的实际长度小于@StrLen,则左边补足"0",如果@Dec转换后的实际长度-- 大于@StrLen,则以实际长度返回-- 作者: cheyo

cheyo的专栏 3435

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

mysql十进制转二进制函数,sql函数之十六进制与十进制间的转换

一、十进制转换成十六进制第一种情况:待转换数字随机CREATE FUNCTION ufn_ConvertInt2Hex ( @Num BIGINT )RETURNS VARCHAR(500)ASBEGINDECLARE @Result VARCHAR(500)SET @Result = ''WHILE ( @Num > 0 )BEGINSET @Result = SUBSTRING('012...

weixin_33699970的博客 1309

十进制与二进制八进制十六进制之间的互相转换

啥也不说了,直接粘代码:--十进制转换二进制、八进制、十六进制 DECLARE @NUM INT=66;--在此输入十进制数字 DECLARE @type INT=2;--设置返回的进制类型 DECLARE @RESULT VARCHAR(500)=''; WITH CTE AS( SELECT @NUM/@type D,@NUM%@type S,1 [INDEX] UNION ALL SELEC

Wikey_Zhang的博客 1211

oracle to_char 进制转换_Oracle 10进制转换2进制

写了个Oracle转换函数,发现当数据为负数的时候,无法转换,因为业务前端入库的数据是32位,当JAVA进行有符号转换为INT类型的时候,会产生负数,而我要再次转换为二进制进行位的判断,网上找了好多,都不能做有符号数字的转换,因此按照负数的二进制表示法重新写了个函数:负数的二进制方法的表示方法:例如 -5第一步:首先要把5变成101的二进制形式第二步:再者就是安位取反,(形成前面全是1)010第三...

weixin_42361933的博客 418

sql 自定义函数--十进制转二进制

随笔记忆: 1 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DECTOBIN]') and xtype in (N'FN', N'IF', N'TF')) 2 drop function [dbo].[DECTOBIN] 3 GO 4 5 SET QUOTED_IDE...

dexu1611的博客 464

如何选择合适的数据类型?数值、日期和字符串大揭秘

在编程的世界里,数据类型是我们与计算机沟通的桥梁。它们不仅决定了数据的存储方式,还影响了数据的操作和处理。今天,我们将深入探讨几种常见的数据类型:数值类型、日期和时间类型,以及字符串类型。

BlowOffSteam的博客 1163

SQL十进制和十六进制相互转换

CREATE FUNCTION ufn_ConvertInt2Hex ( @Num BIGINT ) RETURNS VARCHAR(500) AS BEGIN /************************************** -- 功能:十进制转十六进制 -- 作者:GarsonZhang -- 时间:2016年5月28日13:26:55 -- 测试: PRI...

weixin_30399821的博客 207

10进制转换为2进制

10进制转换为2进制

zw0558的专栏 1245

MySQL-IP地址存储实战:从原理到选型,一篇讲透

本文深入探讨MySQL中IP地址存储的最佳实践,从基础认知到性能优化,详细解析IPv4和IPv6的存储方案。通过对比VARCHAR、INT UNSIGNED和VARBINARY(16)等不同存储方式的性能差异,提供选型建议和实战技巧,帮助开发者提升查询效率并节省存储空间。

weixin_29879257的博客 271

DB2数据类型

DB2数据库的内置数据类型主要分成数值型(numeric)、字符串型(character string)、图形字符串(graphic string)、二进制字符串型(binary string)或日期时间型(datetime)。还有一种叫做 DATALINK 的特殊数据类型。DATALINK 值包含了对存储在数据库以外的文件的逻辑引用。  数值型数据类型包括 SMALLINT、INTEG...

aa18038600931的博客 109
上一篇: 将二进制字符串(VARCHAR)转换为十进制数(INT)
下一篇: SQLSEREVER测试题(上)
天地客人
博客等级 码龄23年 62粉丝 168原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值