当前位置: 首页 > news >正文

河北建设厅网站电话网站优化推广是什么

河北建设厅网站电话,网站优化推广是什么,网上注册公司全部流程,绍兴 网站建设【力扣题】题目描述: 题意理解:(不允许使用库函数) 数字等于0,则结果为0, 数字小于0,则补码运算,即最高位(32位)为1,其余全部取反,再加…
【力扣题】题目描述:

题意理解:(不允许使用库函数)

数字等于0,则结果为0,

数字小于0,则补码运算,即最高位(32位)为1,其余全部取反,再加1。相当于2的32次方+负数。

数字大于0,则计算十六进制(解题思路里详细说明)。

注:十六进制:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f。

(在ASCII码,a对应97)

【Python3】代码:

1、解题思路:基于“题意理解”,数字大于0,求与16的余数,小于10则直接字符串,大于等于10,转为小写字母。与16的商继续求余数,直到数字为0。

知识点:num % 16:求与16的余数,即num除以16的余数。

               str(...):转为字符串。

               chr(...):将整数转为ASCII中对应字符。

               [ ]:空列表。列表:有序、元素可重复、可变的序列。

               列表.append(...):往列表末尾中添加元素。

               列表.reverse( ):列表倒置,即列表起始元素在末尾,末尾元素在起始位置。

               "间隔符".join(列表):将列表转为字符串。间隔符可以为空。

class Solution:def toHex(self, num: int) -> str:if num == 0: return "0"# 负数:(补码运算)最高位为1,其余全部取反再加1# (32位)相当于:2的32次方-负数的绝对值,即2的32次方+负数if num < 0: num += 2 ** 32res = []while num != 0:# 依次求余数m = num % 16# 余数小于10则直接转为字符串if m < 10: astr = str(m)# 余数大于等于10,则转为对应小写字母,(97对应小写字母a)else: astr = chr(m - 10 + 97)res.append(astr)# 求商,继续下一轮求余数num = num // 16# 结果列表倒置res.reverse()return ''.join(res)

2、解题思路:一个十六进制位对应4个二进制位。32位二进制,即8位十六进制,从高到低(从左到右),依次将数字右移4位的倍数与十六进制最大值f进行与运算,依次获得对应的十六进制位。

知识点:num >> n:num二进制右移n位。

              num & 15:num与15(即十六进制最大值f)进行二进制与运算。二进制位依次与运算,相同为1,其余为0。依次获得一位十六进制位。

class Solution:def toHex(self, num: int) -> str:if num == 0: return "0"res = []for i in range(7,-1,-1):# 二进制右移,与16进制最大值f求与运算,依次获取一个16进制位val = (num >> (4 * i)) & 15if len(res) > 0 or val > 0:# 小于10则转为字符串,大于等于10则转为对应字母astr = f"{val}" if val < 10 else f"{chr(val - 10 + 97)}"res.append(astr)return ''.join(res)

3、补充:使用库函数,不在本题解题范围之内(本题不允许使用库函数)

(3-1)解题思路:python中库函数format可以将整数转为十六进制。

知识点:1 << 32:1左移32位,相当于2的32次方即2 ** 32。

               format(...):字符串格式化。'Ox'是十六进制的开头标识。

class Solution:def toHex(self, num: int) -> str:# 小于0,补码运算if num < 0: num += (1 << 32)# 其余,使用format函数转换return format(num, '0x')

(3-2)解题思路:python中库函数hex可以将十进制转为十六进制。

知识点:hex(...):将十进制转为十六进制。返回结果中含开头标识'Ox'。

               序列[2:]:序列(字符串、列表等)中获取从下标2(含)到最后的元素。下标从0开始。

class Solution:def toHex(self, num: int) -> str:# 小于0,补码运算if num < 0: num += (1 << 32)# 其余,使用hex函数转换,去除开头标识'Ox'return hex(num)[2:]

http://www.wangmingla.cn/news/78745.html

相关文章:

  • 中国建设银行网站密码市场营销四大分析方法
  • 建筑网站源码搜索引擎优化期末考试答案
  • 宜昌网站排名优化营销型网站建设的步骤流程是什么
  • 如何进入公司网站的后台网络营销的种类有哪些
  • 阿里云网站实名认证简单网页制作
  • 万网站底部添加备案号郑州聚商网络科技有限公司
  • 网盘搜索网站如何做的seo优化培训机构
  • 二手房网站怎么做才能接到电话云建站
  • 用dreamever如何建设网站市场营销推广策略
  • 厦门网站设计公司找哪家厦门小程序建设it培训机构排名前十
  • 群晖wordpress主机百度seo手机
  • 慈溪企业网站建设百度搜索竞价
  • 哪些网站可以做调查赚钱网络推广渠道和方法
  • 做网站前两个月应该干什么福州seo推广公司
  • 网站经营seo点石论坛
  • 网站需要哪些备案友情链接交易网站源码
  • 做网站能挣钱吗小红书seo排名
  • wordpress 图标代码引擎优化seo
  • 自己做图片的网站站长工具浪潮
  • 网钛cms做的网站seo 首页
  • 网站结构有哪些类型企业网站seo诊断工具
  • 傻瓜式网站模板南昌seo计费管理
  • 吉林长春有做网站的吗百度推广效果怎样一天费用
  • 武汉最新新闻百度seo排名优化排行
  • 做网站可以用ai做搜索引擎是软件还是网站
  • 西数网站管理助手培训网址大全
  • 凡科做的网站提示证书错误深圳关键词推广优化
  • 武汉代做企业网站应用商店搜索优化
  • 拼多多是b2c还是c2c北京网站优化企业
  • 广州旅游网站建设公司网站如何制作设计