二进制

java:判断二进制数据中第n位是否为1

牧云@^-^@ 提交于 2020-02-17 02:19:53
一、进制转换 编程用十进制,十进制转换为二进制、八进制、十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: '0o27' In [137]: hex(23) Out[137]: '0x17' 也可以直接反向获取十进制 In [146]: 0b10111 Out[146]: 23 In [147]: 0o27 Out[147]: 23 In [148]: 0x17 Out[148]: 23 也可以用int函数来转换 In [149]: int('0b10111', 2) Out[149]: 23 In [150]: int('0o27', 8) Out[150]: 23 In [151]: int('0x17', 16) Out[151]: 23 二、位运算 按位异或的3个特点: (1) 0^0=0,0^1=1 0异或任何数=任何数 (2) 1^0=1,1^1=0 1异或任何数-任何数取反 (3) 任何数异或自己=把自己置0 按位异或的几个常见用途: (1) 使某些特定的位翻转 例如对数10100001的第2位和第3位翻转,则可以将该数与00000110进行按位异或运算。       10100001^00000110 = 10100111 (2) 实现两个值的交换,而不必使用临时变量

C#学习笔记_01_基础内容

筅森魡賤 提交于 2020-02-17 02:09:05
01_基础内容 进(位)制 十进制:逢10进1,数字由0-9组成; 二进制:逢2进1,数字由0-1组成; 八进制:逢8进1,数字由0-7组成; 十六进制:逢16进1,数字由0-9和a-f组成; 进制转换 十进制 转 其他进制 辗转相除法:用这个数字除以进制,一直到商为0,将每一步得到的余数倒着连起来就是结果; 其他进制 转 十进制 用每一位数字乘以(进制的位数-1)次方最后相加; 二进制 转 其他进制 二进制与八进制:一个八进制位==三个二进制位 二转八:从右往左,三位一取,不够补零,然后将每三个二进制转为八进制,得到结果;八转二步骤相反; 二进制与十六进制:一个十六进制位==四个二进制位 二转十六:从右往左,四位一取,不够补零,然后将每三个二进制转为八进制,得到结果;十六转二步骤相反; 常用单位转换 把每一个二进制位称作一个比特位:bit 8bit = 1byte 1024byte = 1kb 1024kb = 1MB 1024Mb = 1Gb 1024Gb = 1Tb 负数的表示 把一个二进制的最左边一位叫做最高位; 如果需要表示负数,最高位是符号位,不表示一个数字的大小,表示一个数字的正负性; 如果最高位是1,表示负数,为0,表示负数; 原码、反码、补码 原码:直接由其他进制计算过来得到的结果,如1000 1010 反码:符号位不变,其他位按位取反,如1111 0101 补码

Java实现 LeetCode 67 二进制求和

泄露秘密 提交于 2020-02-17 01:30:34
67. 二进制求和 给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 输入: a = “11”, b = “1” 输出: “100” 示例 2: 输入: a = “1010”, b = “1011” 输出: “10101” class Solution { public String addBinary(String a, String b) { if(a == null || a.length() == 0) return b; if(b == null || b.length() == 0) return a; StringBuilder stb = new StringBuilder(); int i = a.length() - 1; int j = b.length() - 1; int c = 0; // 进位 while(i >= 0 || j >= 0) { if(i >= 0) c += a.charAt(i --) - '0'; if(j >= 0) c += b.charAt(j --) - '0'; stb.append(c % 2); c >>= 1; } String res = stb.reverse().toString(); return c > 0 ? '1' + res : res;

what‘s java

泪湿孤枕 提交于 2020-02-16 14:28:04
目录 what‘s java 一、java简介 1.简介 2.版本 3.应用领域 二、java特点 1.跨平台 2.简单 3.安全 4.健壮 5.完全面向对象 三、跨平台 四、java环境变量 1.环境变量的操作 2.配置Java环境变量 3.jdk jre jvm分别是什么以及之间的关系 五、我的第一行代码 what‘s java 一、java简介 1.简介 java 是1995年sun公司推出的面向对象程序设计语言。起初 oak(橡树)。 java是一种跨平台,实现“一次编译,到处执行”。 java适用于网络环境,是internet最受欢迎的编程语言之一。 java程序可在计算机、pad、手机、电视电话等电子设备上运行。 2.版本 javaSE (java stanstard edition )标准版,用于客户端桌面软件编程。 javaME(java micro edition) 微型版,用于嵌入式、pad 手机、电视、电话、编程。 javaEE(java enterprise edition)企业版,用于服务器端分布式网络程序,比如电商,erp系统。 3.应用领域 桌面应用系统开发、嵌入式开发、电子商务应用开发、web应用系统开发、多媒体系统开发、企业级交互式分布式系统开发。 二、java特点 1.跨平台 graph LR A[.java源码]-->|JVM编译器| B[

python3字符串编码转换

人盡茶涼 提交于 2020-02-16 00:07:08
编码转换: 1、将文本已以二进制方式读取出来; 2、将读取的二进制文本已改文本的编码方式进行解码成Unicode 3、然后将解码后的Unicode编码成要转换的编码格式。 例:将utf-8转换成gbk模式 流程图:(例) utf-8------>unicode------>gbk 代码(例) f = open("oldFile.txt", "rb") # 以二进制方式打开 s = f.read() # 读取打开的文本 f.close() s_unicode = s.decode("utf-8") # 转换成Unicode s_gbk = s_unicode.encode("gbk") # Unicode转换成gbk模式 f = open("oldFile.txt", "wb") #以二进制方式创建 f.write(s_gbk) # 写入 f.close() 来源: https://www.cnblogs.com/lanlao/p/12315375.html

你真的搞清位运算了么?以Java为例总结

≯℡__Kan透↙ 提交于 2020-02-16 00:05:43
二进制位运算是最贴近计算机真实运算操作,通过位运算,我们可以高效的完成各种基础运算(加减乘除取余等),我们还可以使用位运算巧妙的完成原本很复杂的工作,真正理解计算机,我们才能更好的使用计算机。我将通过基础理解开始,讲解到Java中的一些实际应用。本场Chat中,将学到一下内容 •对原码、反码、补码等基础进行重拾 •与或异或移位等正负数运算细节 •正负数位运算的操作 写在前面 二进制位运算是最贴近计算机真实运算操作,通过位运算,我们可以高效的完成各种基础运算(加减乘除取余等),我们还可以使用位运算巧妙的完成原本很复杂的工作,真正理解计算机,我们才能更好的使用计算机。在这一片文章,我将通过基础理解开始,讲解到 Java 中的一些实际应用。 机器数和机器数的真值 一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用机器数的最高位存放符号,正数为 0,负数为 1。举个例子,比如在机器字长为 8 位的情况下(机器字长是指计算机直接处理的二进制数据的位数,它决定了计算机的运算精度,一般是 8 的整数倍,8 位、16 位、32 位、64 位、128 位),十进制中的+3,转换成二进制就是 0000 0011,如果是-3,转换成二进制就是 1000 0011。转换的二进制数 0000 0011 和 1000 0011 就是机器数。 这里我们还需要知道的就是机器数的真值

16、lnmp_mysql二进制安装

穿精又带淫゛_ 提交于 2020-02-15 23:56:53
16.1、lnmp介绍: lnmp架构,linux的php的程序架构: linux nginx MySQL PHP; # lamp:linux apache mysql php; 16.2、mysql介绍: mysql是互联网领域极为重要的一款开源关系型数据库软件,由MySQL AB公司开发与维护,后被sun公司收 购,sun公司后又被oracle公司收购,现mysql属于oracle公司; 目前绝大多数使用linux操作系统的互联网企业都在使用mysql作为后端的数据库,从大型的bat门户,到电商 门户平台,分类门户平台无一例外; 16.3、mysql的优点: 软件体积小; 社区活跃,开放源代码; 软件体积小,安装使用简单,并且易于维护,安装维护的成本低; 支持多种操作系统,提供多种api接口,支持多种开发语言,特别对流行的php语言无缝支持; 16.4、安装mysql: 1、下载mysql: 2、为mysql创建虚拟用户: [root@web01 ~]# mkdir /tools/ -p && cd /tools/ [root@web01 tools]# useradd -Ms /sbin/nologin mysql 3、解压文件并移动: [root@web01 tools]# tar -xzf mysql-5.5.62-linux-glibc2.12-x86_64.tar

MySQL复制(一)--复制概述

送分小仙女□ 提交于 2020-02-15 19:15:33
MySQL复制(replication)文档集合: 1.复制概述 2.基于二进制日志文件位置(binlog)配置复制 3.基于全局事物标识符(GTID)配置复制 4.多源复制 5.级联复制 6.半同步复制 7.延迟复制 8.复制过滤规则 9.对复制进行故障排除 10.故障切换 11.复制管理 (一)什么是复制 MySQL复制可以使数据从一台MySQL服务器(主服务器)复制到一台或多台MySQL服务器(从服务器),默认情况下,MySQL的复制是异步的,从服务器不需要永久连接就可以接收来自主服务器的更新。根据配置,可以对整个实例进行复制,也可以对单个db进行复制,还可以对某个表或多个表进行复制。 (二)复制的优点 MySQL复制的优点主要有: 横向扩展数据库。通过复制,将写业务放在主数据库上,将读业务放到从数据库上,分散业务负载,提高业务性能; 数据安全。主服务器发生crash,可以将从服务器切换为主服务器,减少宕机带来的损失; 实时数据分析。信息分析可以在从数据库上进行,而不会影响主数据库的性能。 (三)复制的方法(二进制日志文件位置和GTID) MySQL提供了基于二进制日志文件位置和GTID两种方法来配置复制。两种方法主要区别如下: 基于二进制日志文件位置的复制:是传统的复制方法。通过从库已经应用到的日志文件的位置(master_log_file,master_log_pos

2020/2/14-Python学习计划

佐手、 提交于 2020-02-15 11:13:33
Python常用内建模块(一) datetime datetime是Python处理日期和时间的标准库。 >>> from datetime import datetime >>> now = datetime.now() >>> print(now) 2020-02-15 10:12:55.713562 >>> print(type(now)) <class 'datetime.datetime'> >>>    datetime 是模块, datetime 模块还包含一个 datetime 类,通过 from datetime import datetime 导入的才是 datetime 这个类。 如果仅导入 import datetime ,则必须引用全名 datetime.datetime 。 datetime.now() 返回当前日期和时间,其类型是 datetime 。 获取指定日期和时间 >>> from datetime import datetime >>> dt = datetime(2020,2, 20, 12, 20) # 用指定日期时间创建datetime >>> print(dt)    datetime 表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间。 如果要存储 datetime ,最佳方法是将其转换为timestamp再存储

python基础学习浅学二进制,字符串(bytes,bytearray,string)

╄→гoц情女王★ 提交于 2020-02-15 09:41:39
一,二进制 二进制中只有两个可能的数:1和0 二进制中,1个1或0叫一’位’(bit) 8位能表示的最小数是0,8位都是0;最大数是255,8位都是1。 十进制逢十进一;二进制逢二进一,记零 1.二进制换十进制: 从右往左:1,2,4,8…分别从右往左对应2的n次方。如2的0次方,2的1次方,2的2次方… 从左往右分别对应相乘再相加即为十进制。 十进制换二进制: 如:25 一直除以2,每次的余数倒序读即此十进制的二进制。 2.二进制里,1kb=2^10=1024个字节 1000也是千字节(kb)的正确单位,1000和1024都对 kb mb gb 分别对应 千字节 兆字节 千兆字节 3.计算机中正数和负数表示方式 0是正,1是负(1开头代表负数,0开头代表正数)。 总共是32位的二进制,其中一位表示正数负数,剩下31位表示数字。 不够用,引入64位使用,第一位表示正负,剩余63位表示数字。 用科学计数法表示十进制,处理非整数。 value=sign exponent sighificand 符号位 指数值 有效位数 举例:114.9可以写成0.1149* 10 ^ 3 。1149叫做有效位数,1代表指数。 在32位浮点数中,第一位表示数字正负。后面八位存指数,剩下23位存有效数字 4.把字符串转换为字节的方法:ASCII,Unicode,UTF-8,gbk(中文编码格式)