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
X位的有/无符号整数的更多相关文章
- 23.Python位运算符详解
位运算符通常在图形.图像处理和创建设备驱动等底层开发中使用.使用位运算符可以直接操作数值的原始 bit 位,尤其是在使用自定义的协议进行通信时,使用位运算符对原始数据进行编码和解码也非常有效. 位运算 ...
- Delphi_03_Delphi_Object_Pascal_基本语法_01
这次是一个基本语法的第一部分,包括变量.变量初始化.常量.运算符.字符串等内容. { 本程序演示 Delphi Pascal 的基本语法 1.变量及变量的初始化 2.常量 3.运算符 3. 4. } ...
- Google之Chromium浏览器源码学习——base公共通用库(一)
Google的优秀C++开源项目繁多,其中的Chromium浏览器项目可以说是很具有代表性的,此外还包括其第三开发开源库或是自己的优秀开源库,可以根据需要抽取自己感兴趣的部分.在研究.学习该项目前的时 ...
- http2协议翻译(转)
超文本传输协议版本 2 IETF HTTP2草案(draft-ietf-httpbis-http2-13) 摘要 本规范描述了一种优化的超文本传输协议(HTTP).HTTP/2通过引进报头字段压缩以及 ...
- JVM-字节码指令
Java虚拟机字节码指令 了解了class文件,我觉得就很有必要去了解一下JVM中的字节码指令,那样堆class文件以及JVM运行机制也后很大的帮助. Java虚拟机的指令由一个字节长度的,代表着某种 ...
- 使用虚幻引擎中的C++导论(四-内存管理与垃圾回收)(终)
使用虚幻引擎中的C++导论(四)(终) 第一,这篇是我翻译的虚幻4官网的新手编程教程,原文传送门,有的翻译不太好,但大体意思差不多,请支持我O(∩_∩)O谢谢. 第二,某些细节操作,这篇文章省略了,如 ...
- Java虚拟机--字节码指令集
1. 字节码指令集简介: Java虚拟机的指令由一个字节长度的,代表着某种特定操作含义的操作码(Opcode)以及跟随其后的零至多个代表此操作所需参数的操作数(Operands)所构成.虚拟机中许多指 ...
- 实现一个websocket服务器-理论篇
本文是Writing WebSocket servers的中文文档,翻译自MDNWriting WebSocket servers.篇幅略长,个人能力有限难免有所错误,抛砖引玉共同进步. websoc ...
- 如何实现websocket服务器-理论篇
WebSocket 服务器简单来说就是一个遵循特殊协议监听服务器任意端口的tcp应用.搭建一个定制服务器的任务通常会让让人们感到害怕.然而基于实现一个简单的Websocket服务器没有那么麻烦. 一个 ...
随机推荐
- JDBC连接MySQL数据库(一)——数据库的基本连接
JDBC的概念在使用之前我们先了解一下JDBC的概念, JDBC的全称是数据库连接(Java Database Connectivity),它是一套用于执行SQL语句时的API,应用程序可以通过这套A ...
- BZOJ 1303: [CQOI2009]中位数图 问题转化_扫描_思维
将比 b 大的设成 1,比 b 小的设成 -1,开个桶左右扫描一下,乘法原理乘一乘就好了. 虽然一眼切,不过这个基于中位数的转化还是相当重要的.middle 那个主席树的题也需要该做法 Code: # ...
- 路飞学城Python-Day136
列举Http请求中常见的请求方式 根据HTTP标准,HTTP请求可以使用多种请求方法. HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法. HTTP1.1新增了五种请求方法:O ...
- Project Euler 50 Consecutive prime sum
题意: 素数41可以写成六个连续素数的和: 41 = 2 + 3 + 5 + 7 + 11 + 13 在小于一百的素数中,41能够被写成最多的连续素数的和. 在小于一千的素数中,953能够被写成最多的 ...
- 【codeforces 807C】Success Rate
[题目链接]:http://codeforces.com/contest/807/problem/C [题意] 给你4个数字 x y p q 要求让你求最小的非负整数b; 使得 (x+a)/(y+b) ...
- Mysql学习总结(36)——Mysql查询优化
从事前端开发的都知道,页面显示的数据一定要及时的呈现,否则会影响用户体现.那么导致页面加载数据慢或者显示滞后的原因又是什么呢? 拿自己之前做项目经历给大家讲讲吧,之前做后台,当时的项目实时性都非常高, ...
- 面试题(JVM加载机制)
JVM加载class文件的原理机制? JVM中类的装载是classLoader 和它的子类来实现的,Java classLoader是个重要的java运行时的系统组件.它在运行时查找和装入类文件的类. ...
- HDU5130 Signal Interference
/* HDU5130 Signal Interference http://acm.hdu.edu.cn/showproblem.php?pid=5130 计算几何 圆与多边形面积交 * */ #in ...
- ASP.NET-signalR学习笔记
- lpad&rpad
lpad( string, padded_length, [ pad_string ] ) string: 准备被填充的字符串 padded_length: 填充之后的字符串长度 pad_string ...