八进制、十进制、操作符(day04)
把二进制表示的数字从右向左每三个数位分成
一组,每组用一个0到7之间的数字替换。
这个替换结果叫做数字的八进制表示方式 (八进制) 可以直接在程序里用八进制方式表示数字,
这种数字必须以0做开头
可以采用%o做占位符把数字的八进制表示
方式显示在屏幕上 把二进制数字从右向左每四个数位分成一组,
每组用一个字符替代,这个替换结果
叫做数字的十六进制表示方式。
用a到f之间的字母替换10到15之间的数字 cb(十六进制) 可以在程序里使用十六进制方式表示数字,
这种数字必须以0x做开头
可以使用%x或%X做占位符把数字的十六进制
表示方式显示在屏幕上
显示结果不是以0x做开头的
使用%x做占位符的时候显示结果里所有字母
都是小写的
使用%X做占位符的时候显示结果里所有字母
都是大写的 操作符代表对数字的处理规则
根据操作符所需要配合的数字个数把操作符
分为单目操作符,双目操作符和三目
操作符 C语言里用+,-,*和/代表加减乘除四则运算符号
如果参与除法计算的两个数字都是整数则计算
结果只保留整数部分 取余操作用%表示 赋值操作符用=表示
它可以把一个数字记录到一个存储区里
赋值语句可以当作数字使用,这个数字就是
赋值完成后左边存储区里的数字
可以在一条语句里使用多个赋值操作符,这个
时候先计算右边的操作符 C语言里绝大多数双目操作符可以和赋值操作符
合并形成复合赋值操作符,例如+=, %=等
复合赋值操作符左边必须是一个存储区,右边
必须是一个数字
复合赋值操作符会把双目操作符的结果记录到
左边的存储区里
复合赋值操作符的优先级和赋值操作符一样低 自增操作符(++)和自减操作符(--)都是单目
操作符
它们都只能和存储区配合使用,它们可以把
存储区的内容做加一或减一操作
它们都有两种使用方法,一种是前操作(操作符
写在存储区前面)另外一种是后操作
(操作符写在存储区后面)
使用自增或自减操作符编写的表达式本身也可以
当作数字使用。前操作当作数字使用的时候
是修改后的数字,后操作当作数字使用的
时候是修改前的数字。
不要在一条语句里对同一个变量多次进行自增
或自减计算,因为结果不确定 逻辑操作符用来编写逻辑表达式
逻辑表达式的结果一定是布尔值 !是一个单目逻辑操作符,它表示对一个
布尔值求反(真变假,假变真) 双目逻辑操作符包括等于(==),不等于(!=),
大于(>),小于(<),大于等于(>=)和
小于等于(<=) 如果一个表达式里最多包含一个双目逻辑操作符,
它在计算机里的结果和在数学里的结果一定
一样。这种表达式叫做简单逻辑表达式。
如果一个表达式里包含多个双目逻辑操作符就
必须首先拆分成多个简单逻辑表达式然后
再合并 与(&&)和或(||)也是双目逻辑操作符,他们可以
把两个逻辑表达式合并成一个 如果原来的两个逻辑表达式里有一个的结果
是假则用与(&&)合并后的逻辑表达式结果
也一定是假
如果原来的两个逻辑表达式里有一个的结果
是真则用或(||)合并后的逻辑表达式结果
也一定是真 与(&&)和或(||)都具有短路特征(如果
前面的逻辑表达式结果可以决定整个逻辑
表达式的结果就不计算后一个逻辑表达式) 位操作符可以直接操作二进制数位 ~是一个单目位操作符
它可以根据一个数字计算出另外一个数字,这
两个数字的所有二进制数位内容都不一样
(按位求反) 双目位操作符包括按位与(&),按位或(|)和
按位异或(^)
它们都可以把两个数字对应二进制数位的内容
做计算 按位与(&)可以把对应数位的内容做与计算
只要一个数位的内容是0则与计算的结果就是0 & 按位或(|)可以把两个数字对应数位的内容做
或计算
如果一个数位的内容是1则或计算以后结果
就是1 | 按位异或(^)可以把两个数字对应数位的内容做
异或计算
如果两个数位的内容一样则异或以后结果是0,
否则结果是1 ^ 移位操作符可以把一个数字里所有二进制数位
的内容统一向左或向右移动n个位置
>>表示向右移位
<<表示向左移位
它们都是双目位操作符
操作符左边的数字是将要进行移位操作的数字
操作符右边的数字是将要移动的位数
移位操作相当于把每个数位的内容换一个数位放 向左移位的时候一定在右边空出来的数位里
填充0 有符号类型数字右移时左边空出来的数位里
一定填充符号位的内容,无符号类型数字
右移时左边空出来的数位里一定填充0 一般情况下数字向左移动n位相当于乘以2的
n次方,向右移动n位相当于除以2的n次方 位操作符不会修改现有存储区的内容 &也可以作为单目操作符使用,这个时候
它可以根据一个存储区计算出存储区
的地址
可以使用%p做占位符把地址数据显示在屏幕上
我们的计算机里所有地址都是32个二进制数位
构成的 *也可以作为单目操作符使用,这个时候它可以
根据地址找到地址对应的存储区 三目操作符可以从两套不同的计算规则中选择
一套进行计算
三目操作符格式如下
布尔值 ? 公式一 : 公式二
如果布尔值是真就采用公式一进行计算,否则
采用公式二进行计算
不要在问号后使用赋值操作符
八进制、十进制、操作符(day04)的更多相关文章
- Python 进制转换 二进制 八进制 十进制 十六进制
Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义一定不 ...
- Python进制转换(二进制/八进制/十进制/十六进制)
Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义 ba ...
- Python 二进制 八进制 十进制 十六进制
1.四种进制的表示方式 >>> 0b010 0b二进制 >>> 0x010 0x 十六进制 >>> 0o010 0o 八进制 >>&g ...
- C++进制转换(十进制转二进制、八进制、随意进制)
十进制转二进制: //十进制转二进制 #include<iostream> using namespace std; void printbinary(const unsigned int ...
- 我的Java开发学习之旅------>二进制、八进制、十进制、十六进制之间转换
一. 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权 ...
- JavaScript学习笔记——变量和数据类型
一.javascript命名规范 1. 严格区分大小写 2. 变量的命名必须以字母或 _或 $开头,余下的部分可以是任意的字母,数字,或者是 _或者是$ 3.不能用关键字或者是保留字命名. 4.jav ...
- Python核心编程--学习笔记--6--序列(上)字符串
本章研究Python中的序列:字符串.列表和元组.因为这些类型其实都是由一些成员共同组成的一个序列整体,所以我们把它们统称为序列.序列的存储结构可以表示为: 1 序列 序列类型有着相同的访问模式:按下 ...
- js中的一些简单问题
1.JavaScript的组成: ECMAScript标准--基本的语法和对象 DOM:Document Object Model 文档对象模型 BOM:Broswer Object Model 浏览 ...
- ES6+javaScript原型
Symbol 属性私有化,数据保护 let _gender = Symbol('gender') function Person(name, gender) { this.name = name; t ...
- pyhton学习笔记(基础五:数据类型、数据运算)
数据类型初识 1. 数字 整数:2是一个整数的例子 长整数 不过是大一些的整数 3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3*10-4. (-5+4j ...
随机推荐
- ORACLE错误1033出现和ORA-00600错误解决的方法
非法关机以后.Oracle数据常常出现这个错误: EXP-00056:ORACLE错误1033出现 ORA-01033:ORACLE initialization or shutdown in pro ...
- Django网站管理--ModelAdmin
class AuthorAdmin(admin.ModelAdmin): list_display=('name', 'age', 'sex') #指定要显示的字段 search_fields=('n ...
- ubuntu下一款有点感觉的 linux音乐播放器 clementine(小橘子))
https://www.clementine-player.org/ 在linux听音乐的感觉确实不是很好,音乐播放器很多.但是仅仅只是数量上的优势,在确实不是很好用.自带的rhythmbox确实很占 ...
- 【Git学习笔记】用git pull取回远程仓库某个分支的更新,再与本地的指定分支自动merge【转】
本文转载自:http://blog.csdn.net/liuchunming033/article/details/45367629 git pull的作用是,从远程库中获取某个分支的更新,再与本地指 ...
- 比较两个map里的数据
template <class DataType>void ProcessMap(std::map<std::string, std::vector<DataType> ...
- Coursera Algorithms Programming Assignment 2: Deque and Randomized Queue (100分)
作业原文:http://coursera.cs.princeton.edu/algs4/assignments/queues.html 这次作业与第一周作业相比,稍微简单一些.有三个编程练习:双端队列 ...
- PCB Genesis加邮票孔(弧形连接位宽度校正)实现算法
采用弧形作为加接位,当两边距离较远时,会造成连接位变窄,由于之前算法是基于连接位间距做为半径画弧, 必然存在这个缺陷,这边做少许的改进解决此问题. 现将几个种增加孤形连接位的图形对比如下: 一.两边外 ...
- PCB SQL MS 将多行有序数据转为一行数据(一列转一行)
一.原数据:多行有序 SELECT CC.techname FROM PPEflow BB LEFT JOIN pubgyxxb CC ON BB.techno = CC.techno ORDER B ...
- sublime如何汉化
1.将sublime安装文件夹里面的defavlut.sublime-package这个文件zip解压. 2.然后查找到sublime-menu文件. 3.打开文件将json里面的caption里面的 ...
- 【BZOJ2693】jzptab & 【BZOJ2154】Crash的数字表格
题目 弱化版题目的传送门([BZOJ2154]Crash的数字表格) 加强版题目的传送门([BZOJ2693]jzptab) 思路&解法 题目是要求: \(\sum\limits_{i = 1 ...