zoukankan      html  css  js  c++  java
  • X位的有/无符号整数

    X位的有符号整数

    • 以4位为例,不管多少位都是相同的概念

    • 在有符号整数中,第一位二进制位用来表示符号,0为正1为负

    • 最大值当然是全部填满1,也就是0111,而最小值全部填满0,也就是1000

    • 所以取值范围是[-2**3, 2**3-1]

    X位的无符号整数

    • 如上,以以4位为例

    • 没有符号的概念,最大值,把4位全填满1,也就是1111,最小值则是0000

    • 所以取值范围是[0, 2**4-1]

    知识点来自leetcode整数翻转

    • 题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
    • 示例:输入123 输出321 ,输入-123 输出-321,输入120输出21,输入918739871939 输出0
    • 还没有学到函数,所以代码未使用函数,若要放入leetcode中,将x的定义删除,print换成return即可
    • 以下为代码解析
    x = 1231312412
    
    if x == 0:   # 去除X等于0的情况
        print(0)
    x = str(x)   # 将x转换成字符串
    l = len(x)
    if x[-1] == '0':  # 如果最后一位数是0,把0切除
        x = x[:l-1]
    if '-' in x:      # 如果是负数,切掉符号翻转后加回来
        a = '-' + x[l:0:-1]
    else:             # 如果是正数,直接翻转
        a = x[::-1]
    a = int(a)        # 把a变回整型
    if -2 ** 31 > a or a > 2 ** 31 - 1:    # 如果翻转后的值超出了32位有符号整数,a=0
        a = 0
    print(a)
    

    2142131321

  • 相关阅读:
    bzoj 1503
    bzoj 1193 贪心+bfs
    bzoj 1798 线段树
    Codeforces 804D Expected diameter of a tree
    bzoj 1208
    bzoj 3224
    HDU 5115 区间dp
    hihocoder #1162 矩阵加速dp
    分块入门
    bzoj 1036 树链剖分
  • 原文地址:https://www.cnblogs.com/lucky75/p/10901854.html
Copyright © 2011-2022 走看看