32位有符号整型举例

十进制:1

二进制:0(符号位,0为正,1为负)0000000000000000000000000000001

十进制:0

二进制:0(符号位,0为正,1为负)0000000000000000000000000000000

十进制:-0

二进制:0(符号位,0为正,1为负)0000000000000000000000000000000

十进制:-2147483648

二进制:1(符号位,0为正,1为负)0000000000000000000000000000000

十进制:-2147483647

二进制:1(符号位,0为正,1为负)0000000000000000000000000000001

 

 

由有符号整型转换为无符号整型,其32位机器码不变。

 

#include<iostream>
using namespace std;
int main (void)
{
    int i=-1;
    unsigned j,k=-1;
   
    j=i;
    cout<<j<<endl;   //输出结果是4294967295
    cout<<k;              //输出结果是4294967295
    getchar();
    }

 

 

对于printf函数来说,

%d,

1.查看32位是否是0或者1

2.如果是1,31位求补码算出;如果是0,31位直接算出。

 

%u

32位全部直接算出

 

%f

float 取出32位

double 取出64位

long double 取出96位

 

%c

char 取出8位 按照ACSII对照输出

 

总结:只与类型的字节和字节里面储存的数据有关。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值