C++语言概述与信息的表示与存储

计算机系统的组成

在这里插入图片描述

计算机的基本结构

在这里插入图片描述
指令:计算机执行某种操作的机器指令,可以被计算机硬件直接识别和执行。计算机指令用二进制代码表示,一条指令通常是由操作码操作数组成。
计算机程序是指完成一定功能的指令的有序集合

程序设计语言的发展

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

C++与C的关系

在这里插入图片描述
C++对C的增强,主要表现在:在原来面向过程的机制基础上,对C语言的功能做了不少扩充。;增强了面向对象的机制
在这里插入图片描述
关键字:也称为保留字,是C++归定的有特定含义的词语。C++03标准定义了63个关键字,主要是关于数据类型和语句的词语。
在这里插入图片描述
在这里插入图片描述
std:命名空间,说明当前使用的内容在哪个命名空间的内容。

C++程序的特点

(1)C++程序总是从mian函数开始执行
(2)书写格式自由
(3)分号是语句的组成部分,表示语句结束
(4)程序中可以加注释,便于阅读
C++的目标是–在保证效率与C语言相当的情况下,加强程序的组织性,保证同样功能的程序,C++更短小。

课后习题

在这里插入图片描述
输入设备主要有键盘、鼠标、扫描仪、条形码阅读嚣、光笔和触摸屏等。输出设备主要有显示器、绘图仪、打印机和投影仪等。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进位计数制

各种信息进入计算机,都要转换成“0”和“1”的二进制形式。计算机采用二进制的原因是:
►(1)物理上容易实现,可靠性高。
►(2)运算简单,通用性强。
►(3)便于表示和进行逻辑运算。
进位计数制的特点:采用进位的方式进行计数;使用位置表示法。

进制二进制十进制八进制十六进制
进位规则逢二进一逢十进一逢八进一逢十六进一
基数210816
基本符号0,10,1,2, …,90,1,2, …,70,1,2, …,9,A,B,C,D,E,F
位权2 i ^i i10 i ^i i8 i ^i i16 i ^i i
表示符号B(binary)D(decimal)O(octal)H(hexadecimal)

r进制数转换成十进制数:
(100101.11) B _B B=1x2 5 ^5 5+0x2 4 ^4 4+0x2 3 ^3 3+1x2 2 ^2 2+0x2 1 ^1 1+1x2 0 ^0 0+1x2 − 1 ^{-1} 1+1x2 − 2 ^{-2} 2=(37.75) D _D D
一位十六进制等于4位二进制,一位8进制等于3位二进制

数值数据在计算机中的表示

整数在计算机中的表示由于计算机只有0和1的数据形式,因此数的正(+)、负(–)号也要用0和1编码。通常将一个数的最高二进制位定义为符号位,称为数符,用0表示正数、1表示负数,其余位表示数值。

原码:负数原码的符号位为1。
反码:负数的反码为将原码除符号位外的所有位按位取反
补码:负数的补码为将反码加1
正数的原码反码补码一致,数据在计算机中是按照补码的形式存放。
在这里插入图片描述
西文字符包含英文字符、数字、各种符号。最常用的西文字符集是美国信息交换标准代码ASCII(american
standard code for information interchange)。ASCII码使用7位二
进制编码,编码值从0到127,可以表示即128个字符
ASCII码表
在这里插入图片描述

课后题

在这里插入图片描述
在这里插入图片描述
正数的补码与原码相同,负数的补码是该数的反码加1。题目中给出的是X为负数,因此[X]补应该是该数的反码加1,且在最前面加上符号位1来表明是负数,而[-X]应该是个正数,它的补码应该与原码相同。下面我们来看个例子,假设X=-1011001,那么按照求补码的原则,先求反码为0100110,再加1并加上符号位得[X]=10100111,而[-X]应该等于原码,所以[-X]=01011001,对比这两个结果,我们不难发现,由[X]补求[-X]补,是将 [X]补连同符号位一起各位变反,末位加1。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一. 字符型的分类和表示范围

char:是有符号还是无符号数视编译器而定,一般为有符号数,下文把它全部当成有符号数进行讨论。
表示范围:32位和64位机器上均是一个字节,所以是八个bit位,最高位为符号位之后,后七位是数据
位,所以它的取值范围是-128---127(-2^7---2^7-1)
signed char :有符号数,和上面一样
unsigned char:无符号字符型
表示范围:一个字节,八个bit位全部是数据位,所以取值范围是0---255(0---2^8-1)

二. 计算机对字符型数据的存储和读取

    字符型在计算机中是按照整型的规则进行存储的,如果是有符号类型,则最高位为符号位,0表示
  正,1表示负,其余七位为数据位。如果是无符号数,则八个位均为数据位。
    这里我们讨论有符号位中,0和-128的存储规则。如果按照有符号数的存储规则,我们知道0000 
0000表示0,那么1000 0000表示负0,这显然与我们的现实生活不符,而且也造成表示范围的减小。
那么1000 0000表示的是什么数字呢。这里规定,当计算机用一各有符号数去读取000 0000时,会自
动的在1的前面补1,这样原来的8个bit位就变成了9个,其中补充的1作为符号位,又因为计算机是以
补码的形式进行存储,这样1 1000 0000(补码)减1,变成了1 0111 1111(反码),再符号位不变,其余
位按位取反得到1 1000 0000(原码),即得到了-128。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幸愉聊信奥

谢谢亲的支持,我会继续努力啦~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值