c++怎么实现数的转换
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本文小编为大家详细介绍"c++怎么实现数的转换",内容详细,步骤清晰,细节处理妥当,希望这篇"c++怎么实现数的转换"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。算法:这类
千家信息网最后更新 2025年02月02日c++怎么实现数的转换
本文小编为大家详细介绍"c++怎么实现数的转换",内容详细,步骤清晰,细节处理妥当,希望这篇"c++怎么实现数的转换"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
算法:
这类算法的核心,在于负数的处理,也就是用到补码的转换,num = ((-num)^0xffffffff)+1。
对于不同进制的转换,采用取余数的方式,来进行操作。
对于不同数的转换,利用 a^b 来获取不同的数值,再通过a&(a-1)来将最右边的1清空来操作。
题目1: 数字转换为十六进制
代码实现:
func toHex(num int) string { // 利用数组存储16位数 ss := []string{"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"} res := "" a := []string{} if num ==0 { return "0" } if num <0 { // 负数转换为正数,采用补码的形式 num = ((-num)^0xffffffff)+1 } for num != 0 { // 通过偏移4为的方式来计算每个十六位的数值,八进制的话是0x7 tmp := num&0xf a = append(a, ss[tmp]) num = num>>4 } // 这里位数,从左到右是高位到低位,所以要转换 for i:= len(a)-1;i>=0;i-- { res += a[i] } return res}
题目2:整数转换
代码实现:
func convertInteger(A int, B int) int { // 负数转换成补码 if A < 0 { A = ((-A)^0xffffffff)+1 } if B < 0 { B = ((-B)^0xffffffff)+1 } t := A^B // 用来计算出A和B不同的位数1 c:=0 for t != 0{ t &= (t-1) // 用来将最右边的1设置为0 c++ } return c}
读到这里,这篇"c++怎么实现数的转换"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
c++
不同
位数
文章
代码
内容
右边
算法
补码
负数
题目
处理
妥当
也就是
低位
余数
十六进制
思路
数值
数字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全审查包括
高性能服务器主要用来做什么
ajax提交数据库乱码
数据库设计方法uml
制图教程软件开发
开展了网络安全岗位培训
数据库基础与应用1-5
多个云服务器管理
荔枝网络技术有限公司电话
山西云搜网络技术怎么样
led屏网络安全措施
博兴专业软件开发报价
江苏前端软件开发大概多少钱
网络安全服务岗位面试技巧
长沙专业的网络安全机构要怎么学
e300服务器配置
华为x86服务器业务卖给超聚变
威海众道生鲜软件开发
河南信息化软件开发标准
网络安全设置设置最高
国家网络安全手抄报要简单的
tbc五区各组服务器
云服务器的使用
南京安卓应用软件开发公司排名
剑灵服务器有哪些
实现对数据库的维护
孝感后厨管理软件开发商
北京网融天下网络技术有限公司
光盘安装服务器系统
破解服务器登录