【319天】我爱刷题系列078(2017.12.21)
经过强制类型转换以后,变量a, b的值分别为( )short a = 128; byte b = (byte) a;正确答案: B A 128 127B 128 -128C 128 128D 编译错误
2017-12-21
深入理解计算机系统:定点数的表示和运算
定义:无符号数就是没有体现正负号的数(这意味着所有的无符号数实际上都是正数),整个机器字长的全部二进制位均为数值位,没有符号位。以108D为例,它对应的二进制数是 1101100,这实际上也就是它的无符号数,可以看到所有的位都是数值位。
如何用python输入十六进制?
2、int(x,base=)可以简便的解决这个问题,int() 函数用于将一个字符串或数字转换为整型。ps:base可以省略,一般默认base=10为十进制 如;
2019-12-29
关于java中的强制类型转换和二进制表示问题
1、Java中用补码形式表示2、第一位正负位,1表示负,0表示正。3、原码:一个数的二进制表示。 {代码...} 4、反码:负数原码按位取反(符号位不变)。正数原码本身。 {代码...} 5、补码:正数是原码本身。负数反码加1。 {代码...} int占4个字节,32位byte占1个字节,8位所以强转时会截断。前24位 在内存中表示形式( 注意...
2019-05-13
二进制、反码、补码
二进制、反码、补码前置阅读:C语言中文网-汇编语言基本概念简介-补码及进制转换基础概念有符号二进制整数有正数和负数。在 x86 处理器中,MSB 表示的是符号位:0 表示正数,1 表示负数。下图展示了 8 位的正数和负数:概念总结:反码、补码是二进制的一种表现形式;在计算机内所有数值底层都用补码表示,无论正负数(十...
LC 08 String to Integer (atoi)
字符串转整数 字符串开头可能有很多空格,忽略之,直到找到第一个不是空格的字符。 第一个非空格字符可能是加号,减号,表示正数或负数。 继续向后碰到0-9就解析,碰到其他字符就终止。 若第一段连续数字为空,返回0. 如果整数大于Integer.MAX_VALUE,返回MAX_VALUE;若小于Integer.MIN_VALUE,返回MIN_VALUE。 {代码...}
2020-03-05
让我们一起啃算法----整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1: 输入: 123 输出: 321示例 2: 输入: -123 输出: -321示例 3: 输入: 120 输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。来源:力扣
2020-04-24
如何让shell脚本变成可执行文件
在本教程中介绍创建bash脚本并使用chmod命令使脚本可执行,无需脚本前面加上sh或bash命令就可以运行它。创建脚本文件第一步是使用以下命令创建一个扩展名为.sh的新文件:
2021-09-14
【C进阶】2、有符号与无符号
Summary0)在进行数据运算、使用变量的时候,一定要十分清楚变量的具体类型!1)对于整形数据,数据类型的最高位用于标识数据的符号:最高位为1表示负数,最高位为0表示整数。2)类型溢出时的运算总结:溢出的值为正的:实际值为:溢出后的值 - 该类型能表示的个数溢出的值为负的:实际值为:溢出后的值 + 该类型能表示...
如何加密Shell脚本
如何在Linux环境中加密shell脚本?shell脚本包含密码,不希望其他具有执行权限的人查看shell脚本并获取密码。可以安装使用shc工具,普通用户无法读取shc创建的加密Shell脚本。SHC是指:Shell脚本编译器(Shell Script Compiler)。环境Centos8
2021-11-04
二进制与 Go 的原子操作
二进制与 Go 的原子操作前置阅读:C语言中文网-汇编语言基本概念简介-补码及进制转换《GO 并发编程实战》—— 原子操作二进制相关基础概念有符号二进制整数有正数和负数。在 x86 处理器中,MSB 表示的是符号位:0 表示正数,1 表示负数。下图展示了 8 位的正数和负数:概念总结:反码、补码是二进制的一种表现形式;在计算...
数据类型和运算符
请解释,为什么结果是-56 ? 答: byte是占一个字节8位,取值范围是[-128,127],因为b+=100,相当于b=b+100; b=200,超出byte的取值范围。 200的二进制是:00000000 00000000 00000000 11001000 计算存在形式都是以补码形式存在,取200的后8位作为运算(方便计算,前面的舍弃),因为 11001000原码(要得到补码需要取反+1...
2019-10-25
多线程与高并发07-一道有趣的面试题目
一道有趣的面试题 前面学习了多线程中的各种多线程工具类,还是锁的使用,下面来看一道有趣的面试题目,让大家有机会尝试使用前面的各种多线程工具类和锁 题目 请写一个程序,让两个线程交替输出“ABCDEF”和“123456”,输出结果为固定“A1B2C3D4E5F6” 解法 Talk is cheap, show me the code!!! synchronized+wait/notify {...
【6.C++基础】-算法-KMP
为何连算法都会总忘记=。=反省,脑袋有包关键点:target串(长的),partten串,如果二者在j上不等,将partten可以向前移动next[j]而取代只前移1如何确定next[j]? T与P在j-1前都相等,所以若移动后想要相等,移动后的前面部分也要与这部分T相等,三者相等:T[j-k~j]=P[j-k~j]=P[1~K],否则移动都是冗余的 即转为短串P的...
解决Win10环境变量Path的显示问题
前言:Win10系统的Path变量显示是可以多行显示,但是误操作后会变成单行显示,变为单行显示,十分不方便,以下是讲解如何恢复多行显示。问题因为配置其他变量,把其他变量移到最顶上环境变量Path变为单行显示解决打开环境变量,在Path变量前面加上 C:\Windows\System32;加上后恢复为多行显示,保持在最顶上
2021-08-27
ClassLoader类加载器简析
JAVA类装载方式,有两种:隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。显式装载, 通过class.forname()等方法,显式加载需要的类
2019-10-31
[Vue] vue-router push/replace/go用法区别
2.this.$router.replace()replace跳转不会向history里面添加新的记录,它是用页面C的地址replace了页面B的地址。在C页面后退,会跳转到B页面的上一个页面。
2021-05-30
Dev-C++如何正确输出long double?
这是我的舍友问我的一个非常简单的问题:(Dev-C++中)如何输出一个long double变量?乍一听还挺简单的,没想到还挺麻烦,记录记录~
2019-11-29
[LeetCode 逐步求和得到正数的最小值] | 刷题打卡[3]
给你一个整数数组 nums 。你可以选定任意的 正数 startValue 作为初始值。你需要从左到右遍历 nums 数组,并将 startValue 依次累加上 nums 数组中的值。请你在确保累加和始终大于等于 1 的前提下,选出一个最小的 正数 作为 startValue 。
2021-04-13
推箱子小游戏——c/c++实现
在正式写代码前,我们必须要考虑好编写这个游戏整体的思路,例如我们怎样建立一个地图,怎样让人上下左右行走,什么时候才能走,什么时候不能走,怎样表示游戏中的人物,空地,墙…等等等等,为了不让程序显的杂乱无章,提高代码易读性,我们最好编写一些函数来实现游戏中的各个功能。那么我们一一来分析。假如地图是这样...
2021-06-03