符号计算

java运算符、流程控制语句

≯℡__Kan透↙ 提交于 2019-12-05 10:39:40
​ 常见的进制 十进制 1010 二进制 满二进一 0B10101010 (JDK1.6是可以这样的) 八进制 满8进一,数字在0_7之间 077 078(error) 十六进制 满16进一,数字在0-9 A B C D E F 0x开头,x不区分大小写,0x0010 0XAABB 计算机中,所有的内容在内存中都是二进制表示的 'A'-->它的ASII 65 1000001 进制的转换 ==十进制转成二进制 6-->110 21-->10101 ==二进制转十进制 10101-->1*2^0+0*2^1+1*2^2+0*2^3+1*2^4=21 ==二进制转八进制 10101010001010111---->010 101 010 001 010 111==0252127 ==二进制转十六进制 10101010001010111 --->0001 0101 0100 0101 0111==0x15457 计算机中,一个二进制位是一个比特位(bit), 8个比特位是一个字节 1024个字节,就是1k 1024k是1M 1024M是1G 1024G是1T 1024T是1p 你好 4个字节 101010101010101001 4/1024==2/512 1/256 负数在内存中表现的形式:是正数的按位取反+1 3 -3 byte a=3; //1个字节 0000 0011 1111

设计-Int(4)和Int(11)谁更美

岁酱吖の 提交于 2019-12-05 06:55:59
设计-Int(4)和Int(11)谁更美 【缘起】 大家平时在进行数据库设计的时候,如果遇到需要存储整数类型的数据的时候,通常会优先使用Int这个整数类型,在处理20亿级别的正负数值存储上,Int类型是完全能够满足日常需求的了。 但是在进行数据库建表语句书写的时候,大家经常会见到Int类型的后面会带上1个括号,里面跟上1个数值,通常要么是4,要么是11。如下: 这Int括号里面的数值,究竟是什么意思呢?有的开发者认为,这个数值是用来限制Int类型能够存储的数字的长度的( 类似char、varchar括号数值 );有的开发者则认为,在存储相同数字的情况下,Int(4)会比Int(11)在存储上节省更多的存储空间。 那么实际情况究竟是怎样的呢?在实际的数据库设计中,究竟应该使用Int(4)还是Int(11)呢?又或者是应该什么都不写呢,只用默认的Int呢? 让我们开启今天的MySQL数据库之Int类型之旅。^_^ 【存储比较】 为了方便测试Int(4)、Int(11)、以及默认的Int,在存储上是否存在差别,我们分别创建t_int_four、t_int_eleven、t_int_default表,如下: 接下来,我们向t_int_four表的my_int_four字段,插入Int( 有符号 )类型的最大值2147483647,如下: 如上图,我们看到m_int_four字段的Int(4

《深入理解计算机系统(第三版)》第二章学习总结

六月ゝ 毕业季﹏ 提交于 2019-12-05 05:18:01
第二章 信息的表示和处理 2.1 信息存储 字节(byte):8位的块,作为最小的可寻址的存储器单位,不是访问存储器中单独的位。 计算机字长:指明指针数据的标称大小。32位机器虚拟地址空间为4GB。64位为16EB。64位机器可以运行32位机器编译的程序,反过来不行。 字节顺序 小端法:最低有效字节在最前面; 大端法:最高有效字节在最前面; 大小端引起的字节顺序问题: 在不同类型的机器之间通过网络传输二进制数据(用协议解决)。 在阅读表示整数数据的字节序列时。 编写规避正常的类型系统的程序时。 字符串表示:字符串被编码为一个以null(‘\0’)字符结尾的字符数组。每个字符用某个标准编码来表示,常见的为ASCII字符码。代码表示:不同机器的指令编码是不同的,一般二进制代码是不兼容的。 布尔运算:~非,&与,|或,^异或,位运算。 逻辑运算:逻辑运算认为所有非0参数表示TRUE,0表示FALSE。对应OR(||)、AND(&&)和NOT(!)。 移位运算:左移,x<<k,丢弃最高的k位,右端补k个零。右移分为逻辑右移和算术右移。逻辑右移在左端补0,算术右移在左端补最高位。 2.2 整数表示 无符号整数直接用其二进制数值表示。 有符号整数用二进制补码表示,最高位为符号位,1表示负数,0为非负。补码的范围是不对称的,|Tmin|=|Tmax|+1,C语言中文件<limits.h

二进制补码(负数编码)、反码、原码

寵の児 提交于 2019-12-05 02:55:12
一、补码 补码是对负整数在计算机中存储的一种形式; 第二种形式的负数在计算机中可以使用 (负号加数字)的形式表示一个负数;例如(-3 以1000 0011 存储)但是使用这种方法表示的只有(+0,-0),而且不可以做算术运算。 二、计算机数和真值 讨论二进制编码之前,首先来了解一下什么是计算机数和真值 (一)计算机数 一个数在计算机中的二进制表示形式,叫做这个数的机器数 。 机器数数带符号的,由于计算机内部的硬件只能表示两种物理状态,在 计算机使用一个数的最高位存放符号,正数为 0,负数为 1。 例如: 十进制中的 +5 和 -5,计算机字长为8位,分别转换为 00000101 和 10000101;这里面的 00000101 和 10000101 就是机器数 机器数的特点: 一个数值的二进制表现形式,就叫做这个数的机器数。二进制的位数是受机器设备的限制的。机器内部设备一次能表示的二进制位数叫做机器的字长,一台机器的字长数固定的。 字长8位的叫做一个字节(Byte),机器字长一般都是字节的整数倍,如字长 8位、16位、32位、64位。 机器数的分类: 根据小数点位置固定与否,机器数又可以分为定点数和浮点数。通常使用 定点数表示 整数,使用 浮点数表示 实数: 1、整数 :整数没有小数部分,小数点固定在数的最右边。整数可以分为(1) 无符号整数 和 (2) 有符号整数 两类。

汇编语言复习提纲

99封情书 提交于 2019-12-05 00:07:09
第一章:掌握各进制的转换,有符号数的补码表示 1.1 各进制的转换 10进制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16进制 1 2 3 4 5 6 7 8 9 A B C D E F 2进制 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 十进制数一般用D、二进制数用B、八进制数用O、十六进制数用H来表示。 例如:10101100B,115D ,0075H等。 例: (1)N=45D 十进制数转换为二进制数(用除以2取余) 45/2 = 22 (a0= 1) 22/2 = 11 (a1= 0) 11/2 = 5 (a2= 1) 5/2 = 2 (a3= 1) 2/2 = 1 (a4= 0) 1/2 = 0 (a5= 1) 所以:N=45D=101101B (2)N=117D 十进制转换为十六进制数(除以16取余法) 117/16 = 7 (a0= 5) 7/16 = 0 (a1= 7) 所以 :N=117D=75H (3)将二进制数1011100转换为十进制数(各位二进制数码乘以与其对应的权之和) 1011100B = 1×2^6 + 0×2^5 + 1×2^4 + 1×2^3 + 1×2^2 + 0×2^1 + 0×2^0 = 92D (4

标志寄存器

自作多情 提交于 2019-12-04 23:24:06
目录 标志寄存器(8086CPU) 作用 大小 使用方式 ZF标志,在第6位,结果为0则为1,否则为0 PF标志,在第2位,结果中1的个数为偶数则为1,否则为0 SF 标志,在第7位,结果为负则为1,否则为0;有符号运算有效 CF标志,在第0位,存储进位或借位的值 OF标志,在第11位,结果溢出则为1,否则为0;没理解透彻 DF标志 串传送指令movsb 串传送指令movsw cld和std设置DF标志位 adc 指令,带位加法指令,用于计算特别大的数据 sbb 指令, 带借位减法指令,用于运算特别大的数据 cmp指令,这个玩意有点复杂(P234, 11.8) pushf和popf 标志寄存器在debug中的表示 标志寄存器(8086CPU) 作用 用来存储相关指令的某些执行结果 用来为CPU执行相关指令提供行为依据 用来控制CPU的相关工作方式 大小 标志寄存器有16位 使用方式 标志寄存器是按位起作用,也就是说每一个位都有专门的含义,记录特定的i西南西 flag的1、3、5、12、13、14、15位在8086CPU中没有使用,不具有任何含义。而0、2、4、6、7、8、9、10、11位都具有特殊的含义 ZF标志,在第6位,结果为0则为1,否则为0 zf (Zero Flag) 是零标志位,在第6位;它记录相关指令执行后,其结果是否为0,如果为0,那么 zf = 1 ;否则 zf

阶段总结

我是研究僧i 提交于 2019-12-04 23:10:42
老男孩教育基础阶段总结 服务器内部组成部分 主板 : 将多个硬件进行整合 传导电信息 硬盘 : 存储数据信息 永久存储 光驱 : 安装系统 安装软件 看电影 阵列卡 : (raid) ??? 将多块硬盘整合为一块 风扇 : 负责散热 CPU: 中央处理器 ( 大脑 ) 运算 ( 二进制 ) 控制其他硬件 内存 : 存储数据信息 临时存储 网卡 : 负责上网 电源 : 负责供电 硬件组成详细说明 · CPU( 大脑 ): 计算机工作原理 : 输入设备 --> CPU --> 内存 --> 硬盘 输出设备 <-- CPU <-- 内存 <--- 硬盘 路数 : 服务器 CPU 颗数 单路 1 颗 双路 2 颗 四路 4 颗 核数 : 同时处理多个任务能力越强 PS: 厂商服务器 IBM( 联想 ) DELL HP 浪潮 华为 · 硬盘 :(RAID) 接口 : 绝对了数据读和存效率 sata -- scsi -- sas 转速 : 家用硬盘 (5400 7200) 企业硬盘 (10k 15k) 多个硬盘进行组合 : RAID 01. 提高单块硬盘存储容量 02. 提高数据存储的效率 03. 提高数据安全性 · 内存 : 临时存储 程序 : 开发人员编写出代码 进程 : 运行起来的程序 进程编号 用户管理进程 会占用内存 临时进程 : 突然出现 , 很快自动消失 守护进程 :

JavaScript位运算符

匆匆过客 提交于 2019-12-04 22:11:08
一、位运算符 位运算符处理 32 位数 该运算中的任何数值运算数都会被转换为 32 位数,结果会被转换回 JavaScript 数 位运算符用于直接对二进制进行计算,共有七个运算符: 或运算(or):符号为 | ,若两个二进制位都为0,则结果为0,否则为 1; 与运算符(and):符号为 & ,若两个二进制位都为 1,则结果为1,否则为 0; 否运算(not):符号为 ~ ,对一个二进制位取反; 异或运算(xor):符号为 ^ ,若两个二进制位不相同,则结果为1,否为0。 左移运算(left shift):符号为 << 右移运算(right shift):符号为 >> 带符号位的右移运算(zero filled right shift):符号为 >>> 二、位运算符简介 位运算符直接处理每一个比特位(bit),所以是非常底层的运算。 好处 :运算速度极快; 缺点 :运算很不直观,许多场合不能使用,否则会使代码难以理解和查错。 注意 : 位运算符只对整数起作用,如果一个运算子不是整数,则会自动转成整数后再执行 。 在JavaScript内部,数值都是以64位浮点数的形式储存的,但是在做位运算的时候,是以32位带符号的整数进行运算的,并且返回的值也是一个32位带符号的整数。 三、各位运算符的特点 (一)或运算 和 与运算 逐个位数比较两个运算子 或运算 : 两个二进制位中只要有一个为

Python数据类型

房东的猫 提交于 2019-12-04 21:01:43
# 列表 # #查 切片 [] print(a)#打印所有列表 print(a[1:3]) #从索引1开始到3结束,但是不包括3 print(a[1::2]) #从索引1开始到结束,步长为2,隔一个去取 print(a[1:-1]) #从索引1开始到倒数第二 print(a[1::-1]) #从索引1开始到结束,从右往左取 print(a[-2::-1]) #从右往左取,从倒数第二个开始到最左边(结束) print(a[1::-1]) #从右往左取,从索引为1开始到结束 b=a.count("ligang")#根据内容查找该元素在列表中出现的次数(计数) print(b) inde=a.index('sanpang')#根据内容找其对应的位置(索引) print(inde) conten='sanpang' in a#in的用法,判断元素是否在列表中,在就返回True,否则返回False print(conten) #添加 append insert a.append('wangyuan')#直接追加在列表最后面 a.insert(2,'liyifen')#设置索引,指定添加位置,可以添加到任意位置 print(a) a.extend(t)#扩展列表,将2个列表合并,这里将t列表融入到a列表中 print(a) #修改   a[1]='wangmei'#根据a[index

Windows batch文件学习笔记

我的未来我决定 提交于 2019-12-04 19:32:44
Windows batch文件学习笔记 运行程序 call 语法: call [ [Drive:] [Path] FileName [BatchParameters]][:label [arguments]] 参数: [Drive:][Path] FileName 指定要调用的批处理程序的位置和名称。Filename 参数必须是.bat 或 .cmd 扩展名的类型文件。BatchParameters 指定批处理程序所需的命令行信息(即参数项)。 调用另一个批处理程序,并且不终止父批处理程序(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。 call 命令接受用作跳转目标的标签。如果在脚本或批处理文件外使用call,它将不会在命令行起作用。 @ echo off echo 示例 1 echo start call call1.bat echo running call2 echo end pause @ echo off echo 示例 2 call :label echo 1 echo 2 :label echo 3 echo 4 start call的时候,他们拥有同一个壳cmd.exe,在同一个进程当中,所以他们的变量是互通的。 start的时候,他们拥有两个壳cmd.exe,但child