二进制

C语言I博客作业08

半腔热情 提交于 2020-03-06 04:40:32
问题 回答 这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9977 我在这个课程的目标是 掌握并熟悉C语言的运用 这个作业在哪个具体方面帮助我实现目标 对代码编译更加熟悉,学习到了while语句,还有进制数的理解 参考文献 《C primer Plus》《C语言程序设计》《CSDN》《百度》《伪代码的写法》 1. PTA实验作业 1.1 jmu-c-二进制转10进制 题目内容 输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input! 1.1.1 数据处理 数据表达:定义两个整型变量n,s,其中n代表一个判断条件,初始赋值为0,s表示转化出的十进制,定义了字符型变量ch,表示输入的二进制数的每个位数 数据处理:while循环当ch不等于回车时执行,回车时跳出while语句,while中输入字符,用switch语句,当ch为0和1时,都执行同一条语句s=s 2+ch-'0';由于是一个字符一个字符的输入,所以得出s后跳出switch但不跳出while,当二进制所有位数输完,按回车跳出while执行下一条,其他情况下,就比如有除0,1外的数字时,赋值n=1,就跳出switch,然后再回车跳出while

位运算

断了今生、忘了曾经 提交于 2020-03-06 03:46:49
# 数值表示 1)补码表示:-n=~n+1 2)经验值数:0x3f3f3f3f。 不会溢出 用于最大值的定义 3)二进制数下标从0开始 4)返回n的最后一位1:lowbit(n) = n & -n # 移位操作 1)1<<n=2^n 2)n<<1=2n 3)算数右移 正数补0,负数补1 4)n>>1=[n/2.0](下取整) 5)b&1 取出b在二进制下表示的最低位 6)b>>1 舍去二进制下的最低位 7)(n>>k)&1 取出整数n在二进制表示下的第k位 8)n & ( (1<<k)-1) 取出整数在二进制表示下的第0~k-1位(后k位) 9)n xor (1<<k) 把整数 n 在二进制下表示的第k位取反 10)n | (1<<k) 把整数n在二进制表示下的第k位赋值1 11)n & (~(1<<k)) 对整数n在二进制表示下的第k位赋值0 来源: https://www.cnblogs.com/hhyx/p/12424326.html

MySQL5.X二进制安装

可紊 提交于 2020-03-06 03:37:26
一、MySQL5.X安装( MySQL下载 ) 1. 下载并上传软件至/server/tools [root@db01 /server/tools]# yum install -y lrzsz [root@db01 ~]# mkdir -p /server/tools [root@db01 ~]# cd /server/tools/ [root@db01 /server/tools]# ls mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 2. 解压软件并放到/application/mysql [root@db01 /server/tools]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz [root@db01 ~]# mkdir /application [root@db01 /server/tools]# mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql 3. 用户的创建处理原始环境 [root@db01 ~]# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y [root@db01 ~]# rpm -qa |grep mariadb [root@db01 ~]#

深入理解计算机系统cp1:存储单位与编码

喜欢而已 提交于 2020-03-05 16:03:30
摘要: 理解计算机是如何存储数据的。 原文: 深入理解计算机系统cp1:存储单位与编码 作者: Chor Fundebug 经授权转载,版权归原作者所有。 1. 存储单位 位:即 bit,表示二进制位,要么是 0 ,要么是 1。它是计算机内部数据存储的最小单位。比如 11010100 共有8个二进制位,是一个8位二进制数。 字节:即 byte,它由8个二进制位构成,即 1byte=8bit,是计算机内部计量的基本单位。一个英文字符占1个字节(8位),一个汉字占2个字节(16位) 字:即word,它由若干个字节构成,是计算机内部进行数据处理和运算的基本单位。字的总的位数称为字长,不同档次的计算机字长是不一样的,比如32位机,它的1个字由4个字节构成,字长为32位,也就是说其CPU一次操作处理的实际位数是32位。同理,64位机可以处理64位。由此可见,计算机的字长越大,其性能越优越。 KB,MB:1024byte = 1KB,1024KB = 1MB。往上还有GB,TB。 PS:数据传输大多以 bit 为单位,比如我们常说的网速100M/s,M/s其实Mbit/s,也就是兆比特每秒,我们还可以写成100Mbps。 2. 编码 2.1 为什么需要编码? 计算机只能理解0和1,无法理解英文、字母、汉字和其他特殊字符,这些字符需要经过编码才能成为计算机可以理解的二进制数。

python的文件操作方法

瘦欲@ 提交于 2020-03-05 15:06:32
python中的文件对象: 文件对象不仅可以用来访问普通的磁盘文件, 而且也可以访问任何其它类型抽象层面上的"文 件". 一旦设置了合适的"钩子", 你就可以访问具有文件类型接口的其它对象, 就好像访问的是普 通文件一样. 文件内建函数[open()和 file()] 1 open('filename') 2 with open('filename') as f: 3 pass open函数使用一个文件名作为唯一的强制参数,然后返回一个文件对象 。模式和缓冲参数都是可选的,默认为只读模式打开文件。使用with即使发生错误可以关闭文件, 下面列出文件对象的访问的模式: 文件模式 操作 r 以只读方式打开 rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278) w 以写方式打开 (必要时清空) a 以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+ 以读写模式打开 w+ 以读写模式打开 (参见 w ) a+ 以读写模式打开 (参见 a ) rb 以二进制读模式打开 wb 以二进制写模式打开 (参见 w ) ab 以二进制追加模式打开 (参见 a ) rb+ 以二进制读写模式打开 (参见 r+ ) wb+ 以二进制读写模式打开 (参见 w+ ) ab+ 以二进制读写模式打开 (参见 a+ ) x 如果文件存在报错,不存在则创建 ***加b模式打开

MySQL的数据类型

﹥>﹥吖頭↗ 提交于 2020-03-05 08:21:55
Mysql版本众多,每个版本支持的数据类型繁多且不一样,本篇文章中主要基于MySQL Community Server 5.7.22介绍常用的数据类型,包括其特点以及区别。 MySQL数据类型 正确的定义表结构:数据类型、字段长度,对于数据库性能至关重要。 MySQL的数据类型大致可分三类: 数值类型 字符串(字符)类型 日期和时间类型 数值类型 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。 BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777

66.不用加减乘除做加法

拈花ヽ惹草 提交于 2020-03-05 07:49:04
额。。这道题,确实我不会,,,对于位运算,我有点不熟。 跟着一个题解慢慢了解位运算把。二进制运算规则和十进制是差不多的,只不过十进制遇10进位,而二进制遇2进位,并且二进制进位后保留的余数是0. 二进制的计算是这样的: 1.计算不进位的和,也就是用异或来进行计算^ (异或也就是对应位的数不同则为1,相同则为0) 2.计算进位,也就是先求与&,在左移一位 3.计算a+b,也就是a^b+(a&b)<<1,这个视乎又出现了加号,又要进行这一步,即最后要等到b为0时才结束运算。所以也就得出了循环结束条企鹅,并且每次都将进位的结果给了b,不进位的结果给了a 代码如下: 来源: CSDN 作者: qq_40058686 链接: https://blog.csdn.net/qq_40058686/article/details/104608430

文件操作基础之前言

风流意气都作罢 提交于 2020-03-05 01:10:46
文章目录 一 前言 1.操作模式 2.模式 一 前言 1.操作模式 操作模式 具体含义 ‘r’ 读取(默认) ‘w’ 写入(会先截断之前的内容) ‘x’ 写入,如果文件已经存在会产生异常 ‘a’ 追加,将内容写入到已有文件的末尾 ‘b’ 二进制模式 ‘t’ 文本模式(默认) ‘+’ 更新(既可以读又可以写) 2.模式 模式 描述 t 文本模式(默认) x 写模式,新建一个文件,如果该文件已存在则会报错 b 二进制模式 + 打开一个文件进行更新(可读可写) U 通用换行模式(不推荐) r 以只读方式打开文件。文件的指针将会放在文件的开头 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等 r+ 打开一个文件用于读写。文件指针将会放在文件的开头 rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等 w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件 wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等 w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除

从文件系统到磁盘

自闭症网瘾萝莉.ら 提交于 2020-03-04 23:56:22
https://www.cnblogs.com/kexinxin/p/9939090.html " I/O控制为最底层,由 设备驱动程序 和中断处理程序组成,实现内存与磁盘之间的信息传输。设备驱动程序可以作为翻译器。其输入由高层命令组成,如"retrieve block 123"。其输出由底层的、硬件特定的命令组成,这些命令用于控制硬件控制器,通过硬件控制器可以使I/O设备与系统其它部分相连。 基本文件系统 只需要向合适的设备驱动程序发送一般命令就可对磁盘上的物理块进行读写。每个块由其数值磁盘地址来标识(例如,驱动器I,柱面(cylinder)73,磁道(track)3,扇区(sector) 10)。 " -------------------------- 计算机是如何找到确定路径下的文件的? ————————————————文件系统如何存取文件的: 1)、根据文件名,通过Directory里的对应关系,找到文件对应的Inodenumber 2)、再根据Inodenumber读取到文件的Inodetable 3)、再根据Inodetable中的Pointer读取到相应的Blocks ———————————————— 文件系统是如何将path转变为真正的block地址的。简而言之,inode树组成了目录树,通过树形查找获取磁盘信息。 也就是说目录内容:文件名vsinode号

关于BCD码的编码和解码

自作多情 提交于 2020-03-04 23:37:57
(1)BCD码(二到十进制编码) 人们通常习惯使用十进制数,而计算机内部多采用二进制表示和处理数值数据, 因此在计算机输入和输出数据时,就要进行由十进制到二进制的转换处理。 把十进制数的每一位分别写成二进制形式的编码,称为二进制编码的十进制数, 即二到十进制编码或BCD(Binary Coded Decimal)编码。 BCD码编码方法很多,通常采用8421编码,这种编码方法最自然简单。 其方法使用四位二进制数表示一位十进制数,从左到右每一位对应的权分别是 23、22、21、20,即8、4、2、1。例如十进制数1975的8421码可以这样得出 1975(D)=0001 1001 0111 0101(BCD) 用四位二进制表示一位十进制会多出6种状态,这些多余状态码称为BCD码中的非法码。 BCD码与二进制之间的转换不是直接进行的, 当需要将BCD码转换成二进制码时,要先将BCD码转换成十进制码,然后再转换成二进制码; 当需要将二进制转换成BCD码时,要先将二进制转换成十进制码,然后再转换成BCD码。 编码过程,将数字69进行BCD编码(注:BCD编码低位在前,后面将不再注释)。 1. 将6,9分别转换成二进制表示:6(00000110)9(00001001),大家可以看到,最大的数字9也只要4个位,在传输过程中白白浪费了4个位; 2. 将69合并为一个字节,分别取6