C++基础----补码

二进纸的负数转换为十进制表示需要通过补码转换的:
(1)比如:char i=1;
二进制表示为00000001
(2)short i=~i;
则运算为11111110;
计算机中负数都是以补码的形式存在的,如果要转换为十进制,则要转换为补码的补码(求补码的原则是原码的符号位不变,其余位数取反加1):
10000001+1=10000010
显示出来就是-2。

 

那么为什么需要补码呢?
这是因为计算机没有减法运算,减法运算都是通过补码实现的,举例如下:

一、
假设两个char类型的数据,如何实现2 -1 运算呢?
实际上计算机是用2+(-1的补码)来完成的

2的表示是00000010
-1的原码是1 0000001
-1的补码是1 1111111

2-1=2+(-1的补码)
2              00000010
-1的补码       11111111 
计算结果:     00000001

那么如果计算结果出现负数怎么办呢?
1-2=1+(-2的补码)
1                    00000001
-2的补码(符号位不变,原码取反+1)        11111110  
计算结果:        11111111


计算机的负数都是补码,如果用十进制来表示,则要复原为原码(对补码求补码),则为10000001

 

 

C++基础----指针常量与常量指针

指针常量与常量指针
int  i=1;
//指针的常量
const int   *j=&i; //const放在指针之前,有什么作用?保护指针指向的内存块
//常量指针//
int *const k=&i;//const放在指针之后,有什么作用?保护指针变量对应的内存块
 
 
 

C++基础----ASCII码表

  

信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。

 

 

 

 

 

 

 

 

 

八进制 

十六进制

十进制

字符

八进制

十六进制

十进制

字符

00

00

0

nul

100

40

64

@

01

01

1

soh

101

41

65

A

02

02

2

stx

102

42

66

B

03

03

3

etx

103

43

67

C

04

04

4

eot

104

44

68

D

05

05

5

enq

105

45

69

E

06

06

6

ack

106

46

70

F

07

07

7

bel

107

47

71

G

10

08

8

bs

110

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值