数据类型及转义符

从首地址开始由低位到高位存储是小端存储,反之则是大端存储

弄熟十六进制,八进制,二进制之间的转换

0123表示八进制数字 0x123表示十六进制数

[signed] short [int] 有符号短整型    2字节    -2的15次方到2的15次方-1
unsigned short [int] 无符号 短整型              0到2的16次方减1
[signed] int 有符号基本整型            4字节   -2的31次方到2的31次方-1
unsigned [int] 无符号 基本整型                   0到2的32次方-1
[signed] long [int] 有符号长整型      8字节    -2的63次方到2的63次方-1
unsigned long [int] 无符号 长整型               0到2的64次方-1
[signed] long long [int] 有符号双长整型
unsigned long long [int] 无符号 双长整型

当我们在补码表示法下进行操作时,如果超过了整数的表示范围,就会发生溢出。以下是具体的溢出情况:1. 将 127 加 1:•127 的二进制表示为 01111111。•将 127 加 1:01111111 + 00000001 = 100000000。•由于只有8位,最高位溢出,剩下的低8位为 00000000,但是根据补码表示法,00000000 表示的是 0。•实际上,结果应该是 -128,表示为 10000000。2. 将 -128 减 1:•-128 的二进制表示为 10000000。•将 -128 减 1:10000000 - 00000001 = 01111111。•01111111 表示的是 127。实现细节在硬件层面上,加法和减法操作通过加法器电路来实现。当发生溢出时,加法器会产生进位信号。在8位整数范围内,如果最高位(第8位)产生进位,那么就发生了溢出。在8位有符号整数中使用补码表示法时,当发生溢出时,结果会自动“环绕”,即超过最大正数时变成最小负数,超过最小负数时变成最大正数。通过硬件电路和条件码标志位可以检测溢出情况,并采取相应的处理措施。

设我们使用8位无符号整型(unsigned integer),它的表示范围是从 0 到 255(即 00000000 到 11111111)。具体来说:•0 表示为 00000000。•255 表示为 11111111。溢出情况在无符号整型中,如果计算结果超出了最大值 255,则会发生溢出。此时,结果会“环绕”回到最小值 0 并继续增加。示例:将 255 加 1假设我们要将 255 加 1:1. 计算过程:•255 的二进制表示为 11111111。•1 的二进制表示为 00000001。•11111111 + 00000001 = 100000000。2. 溢出处理:•由于只有8位,最高位(第9位)溢出,剩下的低8位为 00000000。•根据无符号整型表示法,00000000 表示的是 0。因此,255 + 1 的结果为 0。

对于无符号整型,溢出会导致结果“环绕”;对于有符号整型,使用补码表示法时,溢出也会自然“环绕”。

负数是原码取反加一(补码形式)在计算机中都是以补码形式呈现

正数是原码本身(补码形式)

int的范围是-2的31次方到2的31次方减去1

%d有符号十进制数形式

%u无符号十进制数形式

sizeof()既可以计算抽象的数据类型长度也可以是具体的变量的长度

sizeof(123ull)  sizeof(10.23f)

浮点型

float  4字节

1.25E4=1.25*10的四次方

存储表现形式         1位符号位

                               8位阶码

                               23位尾数

如-100.125     100.125化为二进制数为1100100.001

                       符号位为1

                        然后用科学计数法表示为1.100100001  乘2的6加127次方,(127是常数,32位系统下加127)

在IEEE 754标准中,阶码采用偏移表示法(bias),偏移量是为了避免使用符号位表示指数的正负。单精度浮点数的偏移量为 127,双精度浮点数的偏移量为 1023。具体来说,偏移量是为了让指数在二进制表示中总是正数。这样做有以下几个好处:1. 简化硬件设计:不需要额外的电路来处理负数。2. 避免歧义:保证指数始终为正数,避免了正负指数的混淆。

                        133的二进制数就是它的阶码

                         则存储为1 10000101 1001000 0100 0000 0000 0000

                          十六进制表示为c2c84000

数据类型相同才能运算

char 1字节

根据ASCII码进行输出

\t(横向制表符)前面总共空8个字符        char型和int型兼容可进行数运算

                                                            

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值