2018-2019-1 20175206《信息安全系统设计基础》第二周学习总结
2018-2019-1 20175206《信息安全系统设计基础》第二周学习总结
信息的进制与转换
字节:计算机中最小的可寻址的内存单元
虚拟内存:机器级程序将内存视为一个非常大的字节数组
进制表示
十进制:D=dndn-1...d1d0.d-1...d-m(m,n为正整数)
二进制:B=bnbn-1...b1b0.b-1...b-m(m,n为正整数)
八进制:O=onon-1...o1o0.o-1...0-m(m,n为正整数)
十六进制:H=hnhn-1...h1h0.h-1...h-m(m,n为正整数),在C语言中以0x或0X开头的数字常量为十六进制的值
进制转换:
十进制转换R进制:整数部分除以R,商为权值,直至商为0并以下至上排列;小数部分不断乘R记录结果的整数部分并以上至下排列
二进制转换八进制:每三位为一个八进制,不足在最高位补0
二进制转换十六进制:每四位为一个十六进制,不足在最高位补0
对于一个字长为w位的机器,虚拟地址的范围为0~2^w-1,程序最多访问2^w个字节
可在32位或64位机器上运行的程序指令:gcc -m32 prog.c
大端法规则:最高有效字节在最前面
小端法规则:最低有效字节在最前面
在计算机系统中,程序仅仅只是字节序列
位的概念
位或比特(bit):一个电子线路单元称为一个“位”(bit),它有两个稳定的工作状态,分别以“0”和“1”表示。是计算机中最小的数据单位。
字节(byte):8位二进制数称为一个“字节”(byte,简写B)。它是计算机存储信息的基本单位,也是计算机存储空间大小的最基本容量单位。
千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)
1KB=1024B=210B 1MB=1024KB=220B
1GB=1024MB=230B 1TB=1024GB=240B
字(word)若干个字节组成一个“字”(word):一个“字”可以存放一条计算机指令或一个数据。
字长CPU内每个字可包含的二进制的长度称为“字长”(word size)。
字长越长,在相同时间内就能传送越多的信息。
微机的字长有16位(两个字节)、32位(四个字节)等。
信息=位+上下文
系统中所有的信息——包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都是一串比特表示的。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。比如,在不同的上下文中,同样的字节序列可能表示一个整数、浮点数、字符串或者及其指令。
数值运算
无符号整数
加法
当发生溢出情况时,丢弃所溢出的最高位,所得到的结果是x + y (mod 2^w)
乘法
在大多数机器上,整数乘法指令相当慢,常采用用移位和加法运算的组合来代替乘法运算
除法:向下取整
x/2 实际上是x的位向量向右移1位
x/16 是x向右移4位
补码运算
加法、乘法
除法:算术右移
信息的存储
网络字节序
网络上的数据流是字节流,收到的第一个字节被当作高位看待
网络字节序是大端字节序
主机字节序和网络字节序转换
htons()
把unsigned shor
t类型从主机序转换到网络序
htonl()
把unsigned long
类型从主机序转换到网络序
ntohs()
把unsigned short
类型从网络序转换到主机序
ntohl()
把unsigned long
类型从网络序转换到主机序
参考文献:
教材《深入理解计算机系统》
信息就是位+上下文
位、字、字长的概念
原文地址:https://www.cnblogs.com/ldc175206/p/11610428.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- URL 去重的 6 种方案!(附详细实现代码)
- 原生JS封装拖动验证滑块你会吗?
- 企业远程视频会议云服务EasyRTC-SFU版本支持 https 功能设计逻辑
- python之编码解码、字符串常用方法
- python之列表
- 一文带你深入理解Mysql索引底层数据结构与算法
- CGI & FastCGI
- 可输出sql的PrepareStatement封装
- spring mvc基础配置
- spring 事务管理方式及配置
- spring 整合 ActiveMQ
- Spring 配置请求过滤器,编码格式设为UTF-8,避免中文乱码
- ntopng网络监控-远程协助/访问
- 使用JUnit4测试Spring
- jquery.validate remote的用法